C# 变长字符串数组

标签 c# arrays string

根据 comboBox1 选择,我填充 comboBox2。 comboBox2 具有可变数量的列表项。目前我正在像这样手动执行此操作:

string[] str1 = { "item1", "item2" }
string[] str2 = { "item1", "item2", "item3" , "item4" }

等等

if (cbox1.SelectedIndex == 0)
{
       cbox2.Items.AddRange(str1);
}
if (cbox1.SelectedIndex == 1)
{
       cbox2.Items.AddRange(str2);
}

等等

虽然这行得通,但我有 4 个下拉菜单的事件,每个下拉菜单有 13 个可能的选择。这就产生了很多如果。我宁愿用一个字符串数组来做这件事,这样我就可以去掉所有的 if,只需对每个 SelectedIndexChanged 执行以下操作:

cbox2.Items.AddRange(str[cbox1.SelectedIndex]);

但我不确定我是否可以使用可变长度的字符串来做到这一点。我在做的时候遇到错误:

string[,] str = { { "Item1", "Item2"},{"Item1", "Item2", "Item3", "Item4"} };

有办法吗?

谢谢!

最佳答案

您已经发现您不能使用 multidimensional array在这种情况下,因为您的数组长度不同。但是你可以使用 jagged array相反:

string[][] str =
{
    new string[] { "Item1", "Item2" },
    new string[] { "Item1", "Item2", "Item3", "Item4" }
};

关于C# 变长字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8497475/

相关文章:

c# - 书架 : what Redis version to use?

c# - 我什么时候启动和处置我的用户控件?

C++ 打印行号以及二维数组的最大行数

javascript - 创建键值 JavaScript 值

c# - 删除空白段落标签 - TinyMCE

C 字符串有随机尾随字符、空终止问题?

c# - 在 C# 中使用自定义分隔符和一些非常非常大的字段值解析文本的最快方法是什么?

c# - 使用哪种模式进行日志记录?依赖注入(inject)还是服务定位器?

PHP - 定义对象的静态数组

python - 根据字母的对称性创建镜像词