我正在尝试编写一个简单的聊天框,我在Unity论坛上发现了一段非常简单的代码,但它在UnityScript中(类似于JavaScript)。
我尝试将代码转换为C#并且我已经取得了一些成功,但问题是代码使用Array.Unshift()
,它将项目添加到数组中。我试图在C#中找到一些简单的方法,但对于我的生活,我无法让它工作。
Array.Unshift
的C#等价物是什么?
答案 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}
//..