Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以在C中的组合框中添加变量名列表吗#_C#_Visual Studio_Combobox - Fatal编程技术网

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

C# 我可以在C中的组合框中添加变量名列表吗#,c#,visual-studio,combobox,C#,Visual Studio,Combobox,我有一个很长的数组列表,我想制作一个下拉框来查看所有数组的名称。我不想在下拉框中预先输入名称,我想避免多行动态输入名称 例如 int[]Brett={24,64,83} int[]Tony={32,78,27} 组合框下拉列表将显示Brett和Tony 我是编程新手,所以如果有一个基本的解决方案,我会理解,我更喜欢它,而不是一个高级的方法。谢谢你的帮助 我很肯定你有,但这是你当地问题的答案: ComboBox mybox = new ComboBox(); mybox.Items.Add(nam

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

例如

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

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

组合框下拉列表将显示Brett和Tony


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

我很肯定你有,但这是你当地问题的答案:

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 });
下面的代码中提供了类的替代方案:

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);
公共类PersonParams
{
公共字符串名称{get;}
公共int[]参数{get;}
公共PersonParams(字符串名称,参数int[]p)
{
名称=名称;
Params=p;
}
}
...
var persons=新列表();
添加(新的PersonParams(“Brett”,24、64、83));
添加(新的PersonParams(“Tony”,32、78、27));
...
foreach(个人var p)
mybox.Items.Add(p.Name);

我很肯定你有,但这是你当地问题的答案:

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 });
下面的代码中提供了类的替代方案:

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);
公共类PersonParams
{
公共字符串名称{get;}
公共int[]参数{get;}
公共PersonParams(字符串名称,参数int[]p)
{
名称=名称;
Params=p;
}
}
...
var persons=新列表();
添加(新的PersonParams(“Brett”,24、64、83));
添加(新的PersonParams(“Tony”,32、78、27));
...
foreach(个人var p)
mybox.Items.Add(p.Name);

谢谢您的回复。使用
nameof
看起来我必须列出每个变量,这是我试图避免的,因为我有一个很长的变量列表。(我编辑了这篇文章来提到它)@user3733200好的,很好。这就是我提到XY问题的原因。所以我正在更新这个问题。谢谢你的回答。使用
nameof
看起来我必须列出每个变量,这是我试图避免的,因为我有一个很长的变量列表。(我编辑了这篇文章来提到它)@user3733200好的,很好。这就是我提到XY问题的原因。所以我正在更新这个问题。