UnityScript的C#版本的Array.Unshift()?

时间:2014-02-22 08:33:09

标签: c# arrays unity3d unityscript

我正在尝试编写一个简单的聊天框,我在Unity论坛上发现了一段非常简单的代码,但它在UnityScript中(类似于JavaScript)。

我尝试将代码转换为C#并且我已经取得了一些成功,但问题是代码使用Array.Unshift(),它将项目添加到数组中。我试图在C#中找到一些简单的方法,但对于我的生活,我无法让它工作。

Array.Unshift的C#等价物是什么?

3 个答案:

答案 0 :(得分:7)

根据我的理解.Unshift方法将项添加到数组的开头并返回新的数组长度。

您可以在C#中使用List<T>集合。要在(prepond)的第一个位置添加项目,请使用以下方式列出。

List<T>.Insert(0, item); // this will insert item at first position

您也可以使用.ToArray()列表方法将此列表转换为数组。

答案 1 :(得分:1)

使用C#数组很棘手。您需要创建一个新数组并复制旧数组中的所有元素,以及要插入的额外元素。我建议改用List<T>,或者重新考虑算法,这样它就不需要了。

答案 2 :(得分:0)

如果导入System.Linq,它还会向包含阵列的.Prepend(T obj)中添加IEnumerable<T>

using System.Linq;

//...
int[] example = new int[]{1,2,3};
int[] updated = example.Prepend(0);//{0,1,2,3}
//..