将列表框项转换为数组整数C#
向列表框的项数组添加整数时遇到问题。似乎无法将列表框转换为整数将列表框项转换为数组整数C#,c#,asp.net,arrays,arraylist,int,C#,Asp.net,Arrays,Arraylist,Int,向列表框的项数组添加整数时遇到问题。似乎无法将列表框转换为整数 int[] ratingArray = new int[numberRatingsInt]; for (int i = 0; i < numberRatingsInt; i++) { ratingArray[i] = Convert.ToInt32(ratingListBox.Items[i]); } int[]ratingArray=新的int[numberRatingsInt]; 对于(int i=0;i
int[] ratingArray = new int[numberRatingsInt];
for (int i = 0; i < numberRatingsInt; i++)
{
ratingArray[i] = Convert.ToInt32(ratingListBox.Items[i]);
}
int[]ratingArray=新的int[numberRatingsInt];
对于(int i=0;i
将.ToString()
添加到评级列表框。项目[i]
应该是:
int[] ratingArray = new int[numberRatingsInt];
for (int i = 0; i < ratingListBox.Items.Count; i++)
{
ratingArray[i] = Convert.ToInt32(ratingListBox.Items[i].ToString());
}
(该测试添加到@Chris answer中。)
编辑:
将分级列表框.Items.Count放入for循环条件。
列表框
包含列表项
,而不是直接包含值。试试这个:
int[] ratingArray = new int[numberRatingsInt];
for (int i = 0; i < numberRatingsInt; i++)
{
ratingArray[i] = Convert.ToInt32(ratingListBox.Items[i].Value);
}
int[]ratingArray=新的int[numberRatingsInt];
对于(int i=0;i
为了补充其他答案,你还可以做一个性感的lambda,比如:
int[] ratingArray = ratingListBox.Items.OfType<ListItem>()
.Select(x => int.Parse(x.Value))
.ToArray();
int[]ratingArray=ratingListBox.Items.OfType()类型
.Select(x=>int.Parse(x.Value))
.ToArray();
这将消除所有循环计数、常量等。请尝试此方法
var modarray = ratingListBox.Items.Cast<String>().ToArray();
int[] arr = modarray.Select(int.Parse).ToArray();
var modarray=ratingListBox.Items.Cast().ToArray();
int[]arr=modarray.Select(int.Parse.ToArray();
谢谢,我想这已经解决了。但是我现在有另一个错误“ArgumentOutOfRangeException由用户代码处理”不确定这与现在有什么关系..它与索引相关。数组中的索引在某个地方出错。For循环索引出错了。你能把调试器放在这段代码上吗?@AnthonyJohnsonratingListBox.Items
不包含numberRatingsInt
元素,因此ArgumentOutOfRangeException
@AnthonyJohnson在中进行编辑“ratingListBox.Items.Count”loop@AnthonyJohnson永远欢迎你。
var modarray = ratingListBox.Items.Cast<String>().ToArray();
int[] arr = modarray.Select(int.Parse).ToArray();