我有一个整数数组:
int[] numbers = { 1, 3, 5, 7, 9 };
我还有一个包含整数的自定义对象的数组。我想使用Lambda过滤自定义对象的数组,使其仅过滤上面数字数组中的那些匹配整数。
public class SomeStruct
{
public int MyNumber;
}
ArrayOfSomeStruct = ArrayOfSomeStruct
.Where(m = m.MyNumber is contained in numbers array);
这是怎么做的?
答案 0 :(得分:3)
按照您的示例,我创建了一个示例here
如果这些元素的编号包含在“ number”变量中,则这是获取数组元素的代码。
ArrayOfSomeStruct = ArrayOfSomeStruct.Where(x => numbers.Contains(x.MyNumber)).ToArray();
答案 1 :(得分:3)
好像您想要这样的东西:
int[] numbers = { 1, 3, 5, 7, 9 };
var numbersSet = numbers.ToHashset(); // for performance reason
var filtered = arrayOfSomeStruct.Where(e => numbersSet.Contains(e.MyNumber));