C# 列表框到数组int的转换

C# 列表框到数组int的转换,c#,.net,arrays,listbox,int,C#,.net,Arrays,Listbox,Int,我正在尝试将列表框转换为数组: var modarray = listBox1.Items.Cast<String>().ToArray(); var modarray=listBox1.Items.Cast().ToArray(); 但是我还需要使用int数组,所以我尝试了以下方法: int[] arr = modarray.Cast<int>().ToArray(); int[]arr=modarray.Cast().ToArray(); 我得到一个错误,表明

我正在尝试将列表框转换为数组:

var modarray = listBox1.Items.Cast<String>().ToArray();
var modarray=listBox1.Items.Cast().ToArray();
但是我还需要使用int数组,所以我尝试了以下方法:

int[] arr = modarray.Cast<int>().ToArray();
int[]arr=modarray.Cast().ToArray();
我得到一个错误,表明无法转换数组。有人能帮我吗?

试试这个:

int[] arr = modarray.Select(I => Convert.ToInt32(I)).ToArray();
.Cast()
类似于
foreach(列表中的var i)收益率返回(int)i

如果您的项目是字符串,则将失败

我相信您需要:
int[]arr=modarray.Select(s=>Int32.Parse)).ToArray()

尝试以下操作:

int[] arr = modarray.Select(int.Parse).ToArray();
这将对原始数组中的每个字符串使用
int.Parse()
方法来创建新的整数数组