与例如通过foreach循环遍历数组相比,Array.ConvertAll的实际用途是什么?

phi*_*131 5 c# arrays converter

我的问题通常是措辞,因此,我不会提供任何代码(除非有人要我添加它,但我认为我的问题很清楚).我一直在看两篇关于Array.ConvertAll方法的文章,但我自己找不到直接使用它的方法.我读过的文章:

http://msdn.microsoft.com/en-us/library/exc45z53.aspx

"转换器"(文章底部):http://www.codeproject.com/Articles/117611/Delegates-in-C-Attempt-to-look-inside-Part-4

现在我了解转换器的工作原理以及如何使用它,但是,我没有看到转换器的直接必要性.由于一个对象如何被转换为另一个对象的实际方法,必须完全确定(例如在codeproject链接中使用方法"ConvertToPersonInfo"或者是arroding Action/Lambda类型委托),是不是可以声明和实例化新对象的新数组,并对旧对象的旧数组进行foreach循环,并在该循环中复制所需的变量?

根据微软的文章,旧数组不受任何影响,因此最终效果不会有所不同.

我在这里错过了一点,并不理解转换器,还是它真的一样?

Guf*_*ffa 9

当然你可以自己做.它只是一种通过创建数组并为您执行循环来简化转换的方法.

例如:

 int[] newArr = new int[oldArr.Length];
 for (int i = 0; i < oldArr.Length; i++) {
   newArr[i] = Convert.ToInt32(oldArr[i]);
 }
Run Code Online (Sandbox Code Playgroud)

与刚刚:

 int[] newArr = Array.ConvertAll(oldArr, Convert.ToInt32);
Run Code Online (Sandbox Code Playgroud)