[英]Convert string of numbers to array of numbers c#?
我有9个以空格分隔的整数的字符串,例如"3 4 6 9 8 8 2 3 4"
,我想将其转换为3x3 int数组。
一个简单的解决方案是在一个新矩阵上进行两个循环,并在我进行转换时转换字符串值。 有没有更优雅的方法可以做到这一点?
使用我的Split扩展从LINQ将集合拆分为`n`个部分?
var nums = s.Split(' ').Select(n=>Int32.Parse(n)).ToList();
var grid = nums.Split(nums.Count / 3);
基本上,您的解决方案是最好的。 您可以使用LINQ完成相同的操作:
int[][] result =
s.Split(' ')
.Select((a, index) => new {index, value = int.Parse(a)})
.GroupBy(tuple => tuple.index / 3)
.Select(g => g.Select(tuple => tuple.value).ToArray())
.ToArray();
对于此问题,LINQ解决方案可能比普通解决方案更差。 但是,该想法可能会有助于解决类似问题。
您可以对“”字符串string.split()进行拆分,然后将获得一个包含数字的字符串数组。 然后,您必须将它们转换为整数,然后将纯数组分配给所需的数组,据我所知,没有其他方法可以遍历数组,但只需要一个循环即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.