日期:2014-05-18  浏览次数:20831 次

关于 IEnumerable.Cast
string[] str = new string[]{"1", "2", "3" };

我想把它转化为int数组

int[] in = str.Cast<int>.ToArray();

总是得到NULL,指定的转换类型无效。

请问到底是怎么用的。

------解决方案--------------------
int[] in = str.Select(s => int.Parse(s)).ToArray();
------解决方案--------------------
cast方法其本身执行的是强制转换

(int)"1",你认为这种转换能成功否??


正确的方法
string[] str = new string[]{"1", "2", "3" };

int[] res=str.Select(c=>Convert.ToInt32(c)).ToArray();