Массив слишком примитивен для ваших нужд. как подсказал @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();
}
при таком подходе вы должны выполнять много ролей и быть осторожными.