как в C# List Class записать массив и потом взять его по элементно

des1roer
Дата: 11.06.2014 13:29:01
Предположим есть пара переменных (может и больше, но число их известно заранее), а вот число этих пар неизвестно необходимо записать в лист все эти пары, чтобы потом в цикле можно было их выдергивать
                 keys = new List<string>();
                    string[] strArr = new string[2]; 
               
 
                    for (int xx = 0; xx < ds.Tables[0].Rows.Count; ++xx)
                    {
                        com = "COM" + dt.Rows[xx][7];
                        send = dt.Rows[xx][3].ToString() + "\r";
                        strArr[0] = com; strArr[1] = send;
                        keys.AddRange(strArr);
                    }
                    label1.Text = keys[0];
                    label2.Text = keys[1];
                    label3.Text = keys[2];
                    label4.Text = keys[3];

но так он мне ложит каждый элемент отдельно, а я хочу обращаться keys[0][1]
Konst_One
Дата: 11.06.2014 13:33:16
Dictionary<string,string> arr
Arm79
Дата: 11.06.2014 14:33:22
Konst_One
Dictionary<string,string> arr


Dictionary не пойдет, я не вижу уникальности значений

List<Tuple<по количеству переменных>>
Обращение: List[0].Item3 например

Или свой класс на основе Tuple<> с реализованным this[int index]. Тогда можно и затребованный формат List[0][3]
des1roer
Дата: 16.06.2014 06:40:50
получилось так
class Pair<T>
    {
        public Pair(T first,T second)
        {
            First = first;
            Second = second;
        }
        public T First { get; set; }
        public T Second { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<Pair<int>> mas = new List<Pair<int>>();
            mas.Add(new Pair<int>(5, 7));
            Console.WriteLine(mas[0].First + " " + mas[0].Second);
        }
    }


реализовать класс Pair, создать List из пар, обращаться к паре через First, Second.
pation
Дата: 16.06.2014 12:08:54
des1roer
получилось так
class Pair<T>
    {
        public Pair(T first,T second)
        {
            First = first;
            Second = second;
        }
        public T First { get; set; }
        public T Second { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<Pair<int>> mas = new List<Pair<int>>();
            mas.Add(new Pair<int>(5, 7));
            Console.WriteLine(mas[0].First + " " + mas[0].Second);
        }
    }



реализовать класс Pair, создать List из пар, обращаться к паре через First, Second.



а чем Tuple не устроил?
Roman Mejtes
Дата: 17.06.2014 08:05:30
var lookup = (Lookup<int, Class1>)list.ToLookup(p => p.Key, p => p);