我正在尝试将列表框转换为数组:
var modarray = listBox1.Items.Cast<String>().ToArray();
但是我还需要使用int数组,所以我尝试了以下内容:
int[] arr = modarray.Cast<int>().ToArray();
我收到的错误表明无法转换数组。请有人帮帮我吗?
答案 0 :(得分:4)
试试这个:
int[] arr = modarray.Select(int.Parse).ToArray();
这将对原始数组中的每个字符串使用int.Parse()
方法来创建新的整数数组。
答案 1 :(得分:1)
请改为尝试:
int[] arr = modarray.Select(I => Convert.ToInt32(I)).ToArray();
答案 2 :(得分:1)
.Cast<int>()
与foreach (var i in list) yield return (int)i;
如果您的商品是下面的字符串,则会失败。
我相信你需要:int[] arr = modarray.Select(s => Int32.Parse(s)).ToArray();