Как вставить элемент в массив с указанным c индексом в c#? - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть 2 текстовых поля (txt1, txt2), 2 кнопки радио (rb1, rb2), 2 числовых поля вниз (nud1,nud2) & combo box. Я хочу хранить данные из вышеперечисленного в массиве, в названных местах. имя массива - мой код пример: rb1 = mycode[3], combobox=mycode[0], txt1=mycode[6] .... и т. Д. В конце концов я хочу объединить некоторые из названных идексов в моем массиве. И покажи в окне сообщения пример: мой код mycode[3] + mycode[7] как это сделать? но я не знаю, лучше всего выбрать ios, чтобы сделать это Arry, список или любой другой?

Ответы [ 3 ]

0 голосов
/ 12 апреля 2020

Чтобы использовать массив, вы можете создать пустой массив следующим образом:

var arr = Object[7] //This allows you to add different data types, and 7 sets the array length to hold 7 items
arr[0] = txt1.text;
arr[1] = txt2.text;

Вы можете объединить этот путь:

Console.Write($" my code is {arr[1]} + {arr[2]}")
0 голосов
/ 12 апреля 2020

Массив слишком примитивен для ваших нужд. как подсказал @timur, вы можете создать Dictionary<TKey,TValue>, в котором ваш «TKey» равен string, а «TValue» - object. вы можете использовать его так:

// Create a new dictionary of objects, with string keys.
//
Dictionary<string, object> mycode= 
    new Dictionary<string, object>();

// Add some elements to the dictionary. There are no 
// duplicate keys, but some of the values are duplicates.
mycode.Add("txt1", "Hello");
mycode.Add("rb1", 2);

вы можете использовать фактические контрольные ссылки вместо их имен в виде строки. все элементы управления унаследованы от класса Control. так что вы можете использовать Dictionary<Control, object>.

. Здесь я приведу простой пример с формой, которая имеет TextBox (textBox1), NumericUpDown (numericUpDown1) и кнопку (button1).

        Dictionary<Control, object> myDictionary = new Dictionary<Control, object>();

        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            if (myDictionary.ContainsKey((Control)sender))
                myDictionary[(Control)sender] = ((NumericUpDown)sender).Value;
            else
                myDictionary.Add((Control)sender, ((NumericUpDown)sender).Value);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (myDictionary.ContainsKey(numericUpDown1))
                textBox1.Text = ((decimal)myDictionary[numericUpDown1]).ToString();
        }

при таком подходе вы должны выполнять много ролей и быть осторожными.

0 голосов
/ 12 апреля 2020

Это то, что вы ищете ??

myCode[0] = myValue

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...