gpt4 book ai didi

c# - 如何以更简化的方式从锯齿状数组返回数据?

转载 作者:行者123 更新时间:2023-11-30 21:35:12 25 4
gpt4 key购买 nike

我创建了一个工厂类,它允许用户调用方法 Generate 并通过一些我通常不希望用户处理的逻辑来填充锯齿状数组。

由于工厂生成的网格布局类型,很多索引都是空的。

但我不希望用户必须迭代两个数组索引并检查是否为空。有没有办法简化这一点,让用户无需担心就可以迭代这个数组。

比如迭代他们当前要做的数据:

for (int i = Map.MapData.Length - 1; i >= 0; --i)
{
for (int j = Map.MapData[i].Length - 1; j >= 0; --j)
{
// would rather they didn't have to check for null
if (Map.MapData[i][j] == null) continue;

// do stuff with data
}
}

这对用户来说并不是那么友好。有没有办法让数据对用户更线性,比如对数据使用 for each?我不完全确定我要寻找什么才能实现这一目标,希望有人能为我指明正确的方向。

谢谢

最佳答案

查询 集合时(在您的情况下,您希望所有不是null 的项目)尝试使用Linq:

  var NotNullItems = Map
.SelectMany(line => line // From each line
.Where(x => x != null)); // Filter out all null items

foreach (var item in NotNullItems) {
// do stuff with data
}

关于c# - 如何以更简化的方式从锯齿状数组返回数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49421938/

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