我想在添加之前检查一个是否存在但是内部的转换.Any不起作用.
人是ObservableCollection对象,因为每个人都可以是不同的类(每个都有FirstLastName属性).
ObservableCollection<object> People = new ObservableCollection<object>();
foreach (cEmployee t in Group1)
{
if (!People.Any((cEmployee)x => x.FirstLastName == t.FirstLastName)
People.Add(new cEmployee(t));
}
Run Code Online (Sandbox Code Playgroud)
有解决方法吗?
如果他们都保证拥有一个FirstName属性,则可以使用一个选项dynamic
if (!People.Any((dynamic x) => x.FirstName == t.FirstName)) {
...
}
Run Code Online (Sandbox Code Playgroud)
这不是类型安全的,但如果所有值确实具有该属性,则它将起作用.另一方面,如果他们都FirstName使用属性实现公共基本类型或接口,那么您可以使用它
if (!People.OfType<TheType>().Any(x => x.FirstName == t.FirstName)) {
...
}
Run Code Online (Sandbox Code Playgroud)