gpt4 book ai didi

c# - 向数组添加元素

转载 作者:行者123 更新时间:2023-11-30 18:49:17 33 4
gpt4 key购买 nike

我正在以数组形式从源中读取数据。一个[n]

我需要向数组中添加一个元素。

获取数组后,我创建一个容量为 n+1 的新数组,并将所有元素复制到新数组并将新元素作为数组的最后一个元素。

我能做到。

有更好的方法吗?尤其是 Linq?

最佳答案

您所描述的确实是唯一的方法。在 .NET 中无法调整数组的大小,因此我们必须分配一个新数组并将旧数组复制到其中。例如,这是 Array.Resize 的方式作品。 LINQ 在这里并不是真正的帮助,如果有帮助,它也只是将现有数组投影到一个新数组中 - 这正是我们刚刚描述的。

如果您发现需要经常调整数组大小,您应该考虑使用 ArrayList或者,如果可能的话,强类型 List<T> .

编辑:如果你只是从一些你无法控制的方法中获取一个数组,但在你的代码中你可以使用 IEnumerable<T>相反,您可以使用 LINQ 进行惰性枚举并节省额外的数组分配:

var mySequence = originalArray.Concat(new[]{myobj});

//snip

foreach(var item in mySequence)
{
//do stuff
}

只有在调用ToArray()时才有我们招致了额外的开销。否则,我们只是简单地对原始数组进行一次枚举,然后在末尾偷偷插入额外的项。

关于c# - 向数组添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3146195/

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