C#string 到int

有没有办法将字符串数组转换为int数组,就像在C#中将字符串解析为int一样简单。

int a = int.Parse(”123”); int[] a = int.Parse(”123,456”.Split(',')); // this don't work. 

我尝试使用int类的扩展方法自己添加这个function,但它们不会变成静态的。

关于如何做到这一点快速而美观的任何想法?

这个linq查询应该这样做:

 strArray.Select(s => int.Parse(s)).ToArray() 
 int[] a = Array.ConvertAll("123,456".Split(','), s => Int32.Parse(s)); 

应该做得很好。 如果不需要exception,可以修改lambda以使用TryParse。

 int[] a = "123,456".Split(',').Select(s => int.Parse(s)).ToArray(); 
 ”123,456”.Split(',').Select( s => int.Parse(s) ).ToArray(); 

用这个 :

 "123,456".Split(',').Select(s => int.Parse(s)).ToArray() 

我想,就像那样:

 string[] sArr = { "1", "2", "3", "4" }; int[] res = sArr.Select(s => int.Parse(s)).ToArray(); 

这是扩展方法。 这是在字符串上完成的,因为您无法向字符串添加静态函数。

 public static int[] ToIntArray(this string value) { return value.Split(',') .Select(s => int.Parse(s)) .ToArray(); } 

这是你如何使用它

 string testValue = "123, 456,789"; int[] testArray = testValue.ToIntArray(); 

这假设您想要拆分’,’如果没有,那么您必须更改ToIntArray