我必须将以下int数组复制到Array中:
int[] intArray=new int[] {10,34,67,11};
Run Code Online (Sandbox Code Playgroud)
我试过了
Array copyArray=Array.CreateInstance(typeof(int),intArray.Length,intArray);
intArray.CopyTo(copyArray,0);
Run Code Online (Sandbox Code Playgroud)
但是,似乎我犯了一个错误,所以我没有得到结果.
你知道吗int[]已经是一个Array?如果您只是需要将其传递给接受的内容Array,并且您不介意它是否更改内容,则只需传入原始引用即可.
另一种方法是克隆它:
int[] clone = (int[]) intArray.Clone();
Run Code Online (Sandbox Code Playgroud)
如果你真的需要使用Array.CopyTo然后使用其他答案 - 但否则,这条路线会更简单:)
这有效:
int[] intArray = new int[] { 10, 34, 67, 11 };
Array copyArray = Array.CreateInstance(typeof(int), intArray.Length);
intArray.CopyTo(copyArray, 0);
foreach (var i in copyArray)
Console.WriteLine(i);
Run Code Online (Sandbox Code Playgroud)
您在Array.CreateInstance行中有一个额外的"intArray".
话虽这么说,如果你不需要Array.CreateInstance方法(不确定你是不是想要解决这个问题),这可以简化:
int[] intArray = new int[] { 10, 34, 67, 11 };
int[] copyArray = new int[intArray.Length];
intArray.CopyTo(copyArray, 0);
Run Code Online (Sandbox Code Playgroud)
更简单:
int[] intArray = new int[] { 10, 34, 67, 11 };
int[] copyArray = (int[])intArray.Clone();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13650 次 |
| 最近记录: |