【问题标题】:Convert string[][] to int[][]将 string[][] 转换为 int[][]
【发布时间】:2019-06-01 09:42:11
【问题描述】:

我正在尝试简单地转换锯齿数组的类型:

我想使用类似的方法:

int[][] jaggedArray = Array.ConvertAll(jaggedArrayString, int.Parse)

int[][] jaggedArray = Array.ConvertAll(jaggedArrayString, delegate(string s) { return int.Parse(s); }

使用 Linq,我也不能这样做

int[][] jaggedArray = jaggedArrayString.Select(int.Parse).ToArray();

我没有找到任何解决方案,有什么简单的方法吗?

【问题讨论】:

  • 你试过普通的旧循环吗?
  • 我想要一个更有效的解决方案
  • 谁告诉你 LINQ 总是比循环更有效?
  • 我认为这取决于人类的可读性和在此任务上花费的时间。我很确定使用 LINQ 是可能的

标签: c# arrays jagged-arrays


【解决方案1】:

如果要使用LINQ,则需要Select每个子数组中的字符串,所以需要嵌套Selects:

int[][] result = arr.Select(x => 
                     x.Select(int.Parse).ToArray()
                 ).ToArray();

【讨论】:

  • 没错,我刚刚尝试过有趣的事情,几分钟前它在你回答之前就起作用了:) matrixFromFile1.Select(x => x.Select(y => int.Parse(y))。 ToArray()).ToArray();谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 2011-10-13
  • 2011-06-07
  • 2011-02-16
  • 2014-05-20
相关资源
最近更新 更多