我正在尝试将字符串数组列表转换为int数组列表。我尝试过以下方法:
List<int[]> dataset = Read(fileName, separator).Select(
line => Array.ConvertAll(line, s => int.Parse(s)
);
读取返回字符串数组的列表:List<String[]> dataset
答案 0 :(得分:3)
您可以使用.ToList<T>()
将.Select()
结果(IEnumerable<int[]>
)转换为列表。
这样,您将int.Parse
应用于项目数组的每个项目,并将结果转换为List
此外,为了提供代码同质性,您可以使用LINQ Select
和ToArray
代替Array.ConvertAll
:
List<string[]> stringArrayList = ...;
List<int[]> intArrayList = stringArrayList
.Select(stringArray => stringArray.Select(int.Parse).ToArray())
.ToList();
一个小小的修正:你没有施放字符串到一个int,你转换/解析它。
答案 1 :(得分:0)
您可以尝试这样的事情:
groovy.lang.MissingMethodException: No signature of method: somePackage.FooControllerSpec$_$spock_feature_0_9_closure14.doCall() is applicable for argument types: (java.util.Arrays$ArrayList) values: [[[:]]]
答案 2 :(得分:0)
List<string[]> source = new List<string[]>
{
new string[2] { "2", "3" },
new string[4] { "4", "5", "6", "7" },
new string[1] { "1" }
};
List<int[]> result = source.Select(array => Array.ConvertAll(array, item => int.Parse(item))).ToList();