作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个工厂类,它允许用户调用方法 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/
我是一名优秀的程序员,十分优秀!