gpt4 book ai didi

c# - 将 Linq 与二维数组一起使用,找不到选择

转载 作者:IT王子 更新时间:2023-10-29 04:29:32 25 4
gpt4 key购买 nike

我想使用 Linq 查询二维数组,但出现错误:

Could not find an implementation of the query pattern for source type 'SimpleGame.ILandscape[,]'. 'Select' not found. Are you missing a reference to 'System.Core.dll' or a using directive for 'System.Linq'?

代码如下:

var doors = from landscape in this.map select landscape;

我已经检查过我是否包含了引用 System.Core 并使用了 System.Linq

谁能给出一些可能的原因?

最佳答案

为了在 LINQ 中使用多维数组,只需将其转换为 IEnumerable<T> .很简单,这里有两个示例选项用于查询

int[,] array = { { 1, 2 }, { 3, 4 } };

var query = from int item in array
where item % 2 == 0
select item;

var query2 = from item in array.Cast<int>()
where item % 2 == 0
select item;

每种语法都会将二维数组转换为 IEnumerable<T> (因为你在一个 from 子句中说 int item 或在另一个子句中说 array.Cast<int>())。然后,您可以使用 LINQ 方法过滤、选择或执行任何您希望的投影。

关于c# - 将 Linq 与二维数组一起使用,找不到选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3150678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com