包含<T>()以及如何实现它

Bor*_*ens 3 c# linq

说一堂课

Person  
+Name: string  
+Contacts: List<Person>
Run Code Online (Sandbox Code Playgroud)

我希望能够检查某人是否具有某个名称的联系人,而无需创建虚拟Person实例.

person.Contacts.Contains<string>("aPersonName");
Run Code Online (Sandbox Code Playgroud)

这应该检查联系人列表中的所有人是否他们的Name.Equals("aPersonName"); 我看到有一个Contains已经可用,但我不知道我应该在哪里实现它的逻辑.

Jon*_*eet 12

使用Enumerable.Any可能最简单:

 return person.Contacts.Any(person => person.Name=="aPersonName");
Run Code Online (Sandbox Code Playgroud)

或者,项目然后包含:

 return person.Select(person => person.Name).Contains("aPersonName");
Run Code Online (Sandbox Code Playgroud)