我可以在C#中的组合框中添加一个变量名列表吗



我有一个很长的数组列表,我想制作一个下拉框来查看所有数组的名称。我不想在下拉框中预先输入名称,我想避免动态输入名称的多行操作。

例如

int[] Brett = { 24, 64, 83 };

int[] Tony = { 32, 78, 27 };

组合框下拉显示Brett和Tony

我是编程新手,所以如果有一个我能理解的基本解决方案,我更喜欢它,而不是高级的方法。不过,谢谢你的帮助!

我很确定你有XY问题,但nameof()是你本地问题的答案:

ComboBox mybox = new ComboBox();
mybox.Items.Add(nameof(Brett));
mybox.Items.Add(nameof(Tony));

让我们试着整理一下你的案子。我认为使用长的变量列表不是一个好主意,所以更好的方法是使用类列表或字典,如下所示:

var parameters = new Dictionary<string, int[]>();
parameters.Add("Brett", new [] { 24, 64, 83 });
parameters.Add("Tony", new [] { 32, 78, 27 });

它将帮助您更容易地添加项目:

foreach(var kvp in parameters)
mybox.Items.Add(kvp.Key);

类的替代方案在下面的代码中:

public class PersonParams
{
public string Name { get; }
public int[] Params { get; }
public PersonParams(string name, params int [] p)
{
Name = name;
Params = p;
}
}
...
var persons = new List<PersonParams>();
persons.Add(new PersonParams("Brett", 24, 64, 83));
persons.Add(new PersonParams("Tony", 32, 78, 27));
...
foreach(var p in persons)
mybox.Items.Add(p.Name);

相关内容

  • 没有找到相关文章

最新更新