C#字符串[]到int[]
有没有一种方法可以像在C#中将字符串解析为int一样简单地将字符串数组转换为int数组 我自己也尝试过使用int类的扩展方法来添加这个功能,但它们不是静态的C#字符串[]到int[],c#,string,arrays,parsing,int,C#,String,Arrays,Parsing,Int,有没有一种方法可以像在C#中将字符串解析为int一样简单地将字符串数组转换为int数组 我自己也尝试过使用int类的扩展方法来添加这个功能,但它们不是静态的 您知道如何快速、准确地执行此操作吗?此linq查询应该可以: strArray.Select(s => int.Parse(s)).ToArray() 应该很好。如果不希望出现异常,可以修改lambda以使用TryParse。使用以下方法: ”123,456”.Split(’,’).Select( s => int.Parse
您知道如何快速、准确地执行此操作吗?此linq查询应该可以:
strArray.Select(s => int.Parse(s)).ToArray()
应该很好。如果不希望出现异常,可以修改lambda以使用TryParse。使用以下方法:
”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<string, int>(s => int.Parse(s))
.ToArray<int>();
}
这假设您希望在“”上拆分,如果不希望,则必须更改ToInArrayLINQ应该允许您在一行中执行此操作。或者lambda expressions。你问之前有没有搜索过这个网站?非常棒,正是我想要的。谢谢
Array.ConvertAll
显然比LINQyToArray()需要更少的重新分配。注意,在这种情况下,您甚至不需要lambda,您可以将Int32.Parse
作为ConvertAll
的第二个参数传递。
"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<string, int>(s => int.Parse(s))
.ToArray<int>();
}
string testValue = "123, 456,789";
int[] testArray = testValue.ToIntArray();