我尝试过多个其他问题/答案,但没有成功.
我有一个包含从0到10不等的整数的数组.现在我需要一个只有高于8的整数的数组.
如何过滤或创建仅包含整数的子数组?
听起来你想要LINQ.例如:
int[] largeIntegers = allIntegers.Where(x => x > 8).ToArray();
Run Code Online (Sandbox Code Playgroud)
根据需要,虽然做的事情,你可能不会真正需要的ToArray呼叫.例如:
IEnumerable<int> largeIntegers = allIntegers.Where(x => x > 8);
foreach (int value in largeIntegers)
{
...
}
Run Code Online (Sandbox Code Playgroud)
LINQ能够多比,虽然过滤更多-我会强烈建议你适当的学习一下吧-有物质上关于它的净数额巨大.例如,我有一个关于LINQ to Objects的完整博客系列 - 但LINQ也超越了进程内查询.
您可能还想阅读Eric Lippert的博客文章"被认为有些有害的数组",原因是在许多情况下更喜欢其他集合而不是数组.
另一种选择是使用Array.FindAll:
int[] largeIntegers = Array.FindAll(allIntegers, x => x > 8);
Run Code Online (Sandbox Code Playgroud)
...但这真的把你绑在阵列上.LINQ更通用.