using System.Collections.Generic;
public string Name {get; set; } = string.Empty;
public bool? IsNonMember {get; set;}
public bool? IsExternal {get; set;}
public static void Main()
var list = new List<A>();
System.Console.WriteLine(x.IsNonMember.HasValue);
System.Console.WriteLine(x.IsNonMember.HasValue && !x.IsNonMember.Value.Equals(true));
System.Console.WriteLine(x.IsNonMember.GetValueOrDefault(false));
System.Console.WriteLine(x.IsExternal.HasValue);
System.Console.WriteLine(!x.IsExternal.HasValue || (x.IsExternal.HasValue && x.IsExternal.Value.Equals(false)));
System.Console.WriteLine(x.IsExternal.GetValueOrDefault(false));
var filtered = list.Where(x => !x.IsExternal.GetValueOrDefault(false));
foreach(var m in filtered)
System.Console.WriteLine(m.Name);