gpt4 book ai didi

c# - 如何用另一个数组创建和初始化一个数组?

转载 作者:可可西里 更新时间:2023-11-01 08:04:30 26 4
gpt4 key购买 nike

要用另一个数组创建和初始化一个数组,我目前这样做:

void Foo( int[] a )
{
int[] b = new int[ a.Length ];
for ( int i = 0; i < a.Length; ++i )
b[ i ] = a[ i ];

// Other code ...
}

在 C# 中是否有更短或更惯用的方法来执行此操作?

如果这可以像在 C++ 中一样在单个语句中完成,那就太好了:

vector<int> b( a );

如果这不能在一个语句中完成,我将接受我得到的:-)

最佳答案

我喜欢为此使用 LINQ:

int[] b = a.ToArray();

也就是说,Array.Copy 确实有更好的性能,如果这将在一个紧密的循环中使用,等等:

int[] b = new int[a.Length];
Array.Copy(a, b, a.Length);

编辑:

It will be great if this can be done in a single statement, like in C++:

vector b( a );

这个的 C# 版本是:

List<int> b = new List<int>(a);

List<T> C# 等同于 std::vector<T> . constructor above适用于任何 IEnumerable<T> ,包括另一个 List<T> , 一个数组 ( T[] ), 等等。

关于c# - 如何用另一个数组创建和初始化一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9917390/

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