C# 检查列表的索引是否<;列表<;字符串>&燃气轮机;不为空

C# 检查列表的索引是否<;列表<;字符串>&燃气轮机;不为空,c#,winforms,list,C#,Winforms,List,我有一个列表,和一个包含10项的组合框,当所选索引发生更改时,我使用组合框\u selectedIndexChanged事件将此索引的数据绑定到列表框 我还有Add和Remove按钮,可以将数据插入我的列表那么: int selectedIndex = comboBox1.SelectedIndex; if (selectedIndex == 1 || (myList.Count >= selectedIndex && myList[selectedIndex - 1] !

我有一个
列表
,和一个包含10项的
组合框
,当所选索引发生更改时,我使用
组合框\u selectedIndexChanged
事件将此索引的数据绑定到
列表框

我还有
Add
Remove
按钮,可以将数据插入我的
列表那么:

int selectedIndex = comboBox1.SelectedIndex;
if (selectedIndex == 1 || (myList.Count >= selectedIndex && myList[selectedIndex - 1] != null))
{
    myList[selectedIndex].Add(textEdit1.Text);
}
else
    MessageBox.Show("Please fill the previous indexes first.");

如果selectedIndex==1为true,则它不会测试if语句中的第二个参数,也不会抛出错误。如果不是1,它将测试第二个参数,并且不会抛出错误。

我将尽可能避免使用
列表的
列表。整个代码都会变得非常混乱。我建议您将内部
列表
转换为
,这样您将拥有
对象
列表
,而不是
列表
列表。您可以使用try:catch来处理特定错误吗?另外,我们需要从您的代码中获得更多信息。
myList
指的是“外部”
List
还是“内部”
List
?@CJ你是对的,我把它改成了一个List,它仍然很乱,但我想不出更好的方法了。。
int selectedIndex = comboBox1.SelectedIndex;
if (selectedIndex == 1 || (myList.Count >= selectedIndex && myList[selectedIndex - 1] != null))
{
    myList[selectedIndex].Add(textEdit1.Text);
}
else
    MessageBox.Show("Please fill the previous indexes first.");