Dot*_*ude 7 c# linq linq-to-objects
我需要使用linq链接语法来完成此操作.我有:
string[] arr = new string[] {"Chicago", "NewYork"};
var a = Members.Where(x => x.City == <here I want to get all members in chicago or newyork)
Run Code Online (Sandbox Code Playgroud)
你可以用一个简单的Contains.
var a = Members.Where(x => arr.Contains(x.City));
Run Code Online (Sandbox Code Playgroud)
我知道这已经很旧了,但我认为这会对这篇文章的新读者有所帮助。
与code4life类似,我使用扩展方法。但不同之处在于我使用泛型,因此这适用于多种类型。
您可以阅读我的博客文章以了解有关如何执行此操作的更多信息,但主要思想是:
通过将此扩展方法添加到您的代码中:
public static bool IsIn<T>(this T source, params T[] values)
{
return values.Contains(source);
}
Run Code Online (Sandbox Code Playgroud)
您可以像这样执行搜索:
var a = Members.Where(x => x.City.IsIn("Chicago", "NewYork");
Run Code Online (Sandbox Code Playgroud)
它适用于任何类型(只要您创建一个好的 equals 方法)。当然可以是任何值类型。
| 归档时间: |
|
| 查看次数: |
3702 次 |
| 最近记录: |