я могу добавить список имен переменных в комбинированный список в C# - PullRequest
0 голосов
/ 21 апреля 2020

У меня длинный список массивов, и я хочу сделать выпадающий список, чтобы увидеть все имена массивов. Я не хочу предварительно вводить имена в выпадающий список, и я хочу избежать нескольких строк динамического ввода имен.

например,

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

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

В выпадающих списках выпадающего списка будут отображены Бретт и Тони

Я новичок в программирование, поэтому, если есть базовое решение c, я бы понял, что предпочел бы его продвинутому способу выполнения. Спасибо за любую помощь, хотя!

1 Ответ

2 голосов
/ 21 апреля 2020

Я почти уверен, что у вас 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...