【问题标题】:FInd an unused/empty space in an arrayF在数组中找到未使用/空白的空间
【发布时间】:2013-09-10 11:27:46
【问题描述】:

我在做一个项目时又遇到了一个问题(下一个,再次在课堂上)。 我需要知道如何在 C# (Unity 3D) 中的数组中找到未使用的空间

我可以提供更多信息和代码部分,我愿意部分更改我的代码,但不会太多,因为我会得到我的成绩(不是真正的成绩,更像是评级的东西)我有多少完成了。 (是的,我可以在网上提问:P)

提前感谢您的帮助, 我(我的真名出错了,所以我不能发布o.O)

【问题讨论】:

  • 你需要知道有没有空值的数组索引?
  • 遍历数组元素并检查每个元素是否有值...
  • 是的,拒绝访问,你明白了
  • Ulaga,这就是重点,因为我对编程很陌生,我不知道该怎么做。 (只被告知要成为脚本编写者,因为我不害怕长达一小时的教程和用谷歌搜索答案)

标签: c# arrays unity3d


【解决方案1】:

应该工作,请注意,它未经测试。

LINQ:

var nullOrEmptyIndexes = ListObject.Select((item, index) => new { item, index }).Where(x => x.item == null).Select(x => x.index);

循环:

public static IEnumerable<int> GetEmptyIndexes(List<object> list)
{
    for (int i = 0; i < list.Count; i++)
    {
        if (list[i] == null)
        {
            yield return i;
        }
    }
}

将 ListObject 更改为您要检查的列表。

虽然,您的列表中确实不应该有空白,但对我来说似乎很乱。

【讨论】:

  • 好吧,我认为这是用 JS 编写的,对吧?或者至少我的编辑器不知道这些命令中的大多数 Oo 如果这是用 JS 编写的,我不得不乞求借口,因为我不够精通将非基本代码转移到 C# =(
  • 那是 LINQ。嗯,给我一点时间。
  • 该方法应该采用任何列表对象并循环遍历空值,返回表示每个空/空白项的索引的整数列表。 - 现在我只希望 Unity 支持 yield! :)
  • 好的,这对我来说看起来很有效,但我遇到了一个错误。我知道这只是我的错误,但您能否帮我纠正这一行: public static IEnumerable GetEmptyIndexes(List list) 其中 NoteStorage 是一个 2Darray,它是需要迭代的数组.在本准则中,我必须在哪里替换我的东西?
  • 您只需要更改“GetEmptyIndexes(NoteStorage list)”,然后您就可以在里面循环遍历您的数组(已经为您完成了)。虽然你没有提到它是一个二维数组,但你需要返回两个整数,一个分别用于 x 和 y 对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
  • 2022-01-27
  • 2021-07-28
  • 1970-01-01
  • 2015-01-14
相关资源
最近更新 更多