cast< int>方法不是类型强制转换
本文关键字:类型 转换 int 方法 cast | 更新日期: 2023-09-27 18:16:54
我必须先用逗号分隔字符串,然后再转换成整型数组。
和后面的行工作正常
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();
我在这里犯了什么错误?
我正在以适当的方式使用cast方法。
您应该使用int.Parse
将string
转换为int
。在c#中,字符串是而不是,可以直接转换为整数。
input.Split(',').Select(int.Parse).ToArray()
您也可以使用以下方法:
int[] array = Array.ConvertAll(input.Split(','), int.Parse);