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