我必须首先通过用逗号分割字符串将字符串转换为int数组,然后转换为int数组。
以下行正常工作
int[] array = input.Split(',').Select(obj=>Convert.ToInt32(obj)).ToArray();
但我希望使用强制转换扩展方法以不同方式执行此操作。
int[] array = input.Split(',').Cast<int>().ToArray();
但是使用强制转换扩展会抛出无效的强制转换操作异常。
我甚至在演员表演之前应用了ofType(),但实际上并不是必需但仍无效。
int[] array = input.Split(',').OfType<string>().Cast<int>().ToArray();
我在这里犯了什么错误。
我正在以适当的方式使用演员表。
答案 0 :(得分:1)
您应该使用int.Parse
将string
转换为int
。在C#中,字符串不可以直接转换为整数。
input.Split(',').Select(int.Parse).ToArray()
答案 1 :(得分:0)
您也可以使用以下方法。
int[] array = Array.ConvertAll(input.Split(','), int.Parse);