无法过滤可观察的集合,但可以在我的代码C#中访问

时间:2017-06-16 20:43:10

标签: c# .net wpf lambda

我试图过滤掉我的可观察集合中的对象..

var checkedRows = Servers.Where(s => s.NodeName != null).ToList(); //there, you now have a list of checked rows

当我调试时,它返回null。但是,我有一个测试块运行以下(在同一个函数中)

foreach(Server obj in Servers)
{
  Console.WriteLine($"Server: {obj.NodeName}\nChecked:{obj.isChecked.ToString()}");
}

上面的代码打印信息没有任何问题。

这是服务器声明

public ObservableCollection<Server> Servers { get; set; }

1 个答案:

答案 0 :(得分:0)

您的 NodeName 可以是null,可以是String.Empty,因此最好同时使用IsNullOrEmpty(string)进行检查。

尝试:

var checkedRows = Servers.Where(s => (!string.IsNullOrEmpty(s.NodeName)));

选中link