Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
fromdd
3 / 3 / 0
Регистрация: 19.03.2011
Сообщений: 311
1

Необходим динамический двумерный массив из строк, аналог Dictionary

12.08.2014, 17:01. Просмотров 1869. Ответов 11
Метки нет (Все метки)

Мне необходим динамический двумерный массив из строк, с методом Add, по аналогии с Dictionary способный хранить повторяющиеся значения. Есть ли подходящие конструкции в C# ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2014, 17:01
Ответы с готовыми решениями:

Двумерный массив в Dictionary вместо TValue
Здравствуйте, подскажите, пожалуйста, можно ли создать вот такой словарь? ...

Двумерный динамический массив
Задание такое: Создать динамический двумерный массив размером 200x200...

Как создать двумерный динамический массив
Как создать двумерный массив на C# (размерность неизвестна, вычисляется в ходе...

Двумерный массив или его аналог с double параметрами
Добрый день, подскажите пожалуйста. Нужен некий двумерный массив, с...

Как добавить элемент в двумерный динамический массив?
Уважаемые программисты, очень прошу помочь... Есть динамический массив,...

11
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
12.08.2014, 17:09 2
fromdd,
Один из многих вариантов
C#
1
2
3
4
5
6
7
8
            var bucket = new List<Tuple<string, int>>();
            bucket.Add(new Tuple<string, int>("Backon", 65));
            bucket.Add(new Tuple<string, int>("Backon", 72));
 
            foreach (var tuple in bucket)
            {
                Console.WriteLine("{0} {1}",tuple.Item1, tuple.Item2);
            }
1
nedel
618 / 607 / 358
Регистрация: 09.04.2014
Сообщений: 1,442
Завершенные тесты: 1
12.08.2014, 17:11 3
двумерный массив или массив пар строк?
0
Learx
1046 / 853 / 194
Регистрация: 31.03.2010
Сообщений: 2,490
12.08.2014, 17:16 4
fromdd,
Цитата Сообщение от fromdd Посмотреть сообщение
динамический двумерный массив из строк
вы имеете ввиду динамическое к-во коллекций строк с одинаковым к-вом строк в коллекции, или оно так же динамическое?
0
valera_21
371 / 355 / 94
Регистрация: 05.01.2010
Сообщений: 1,481
Завершенные тесты: 5
12.08.2014, 17:19 5
как вариант, реализовать собственный класс и юзать List<MyClass>
0
DataPlanner
153 / 183 / 49
Регистрация: 25.11.2013
Сообщений: 978
13.08.2014, 04:10 6
Ознакомься с паттерном "Композит"
0
fromdd
3 / 3 / 0
Регистрация: 19.03.2011
Сообщений: 311
13.08.2014, 08:18  [ТС] 7
Цитата Сообщение от Learx Посмотреть сообщение
вы имеете ввиду динамическое к-во коллекций строк с одинаковым к-вом строк в коллекции, или оно так же динамическое?
да количество строк в коллекции одинаковое, грубо говоря dictionary <string, string> но с возможностью складывать одинаковые значения
0
jetyb
171 / 169 / 73
Регистрация: 26.10.2012
Сообщений: 514
Завершенные тесты: 1
13.08.2014, 08:34 8
Dictionary<string, List<string>> ?
0
Learx
1046 / 853 / 194
Регистрация: 31.03.2010
Сообщений: 2,490
13.08.2014, 11:43 9
Цитата Сообщение от fromdd Посмотреть сообщение
складывать одинаковые значения
поясните подробнее
0
fromdd
3 / 3 / 0
Регистрация: 19.03.2011
Сообщений: 311
13.08.2014, 12:15  [ТС] 10
я в двух циклах получаю пару строк причем они могут совпадать (строки) и заранее не известно количество этих строк

например
string1 string2
string1 string3
string2 string4
и тд

если использовать двумерный массив то заранее не известна его размерность, а задать безразмерный не получится

Добавлено через 55 секунд
а в dictionary не получится засунуть одинаковые значения
0
jetyb
171 / 169 / 73
Регистрация: 26.10.2012
Сообщений: 514
Завершенные тесты: 1
13.08.2014, 12:28 11
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class ListDictionary<T,V> {
            public Dictionary<T, List<V>> dic = new Dictionary<T, List<V>>();
 
            public ListDictionary() { }
 
            public List<V> this[T key] {
                get 
                {
                    List<V> list;
                    if (dic.TryGetValue(key, out list)) return list;
                    return new List<V>();
                }
            }
 
            public void Add(T key, V value) {
                List<V> list;
                if (dic.TryGetValue(key, out list)) {
                    list.Add(value);
                } else {
                    dic.Add(key, new List<V>{value});
                }
            }
        }
0
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
13.08.2014, 14:27 12
fromdd,
Как я уже и показывал используйте
C#
1
List<Tuple<string, string>>
или
C#
1
List<KeyValuePair<string, string>>
0
13.08.2014, 14:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 14:27

Создать динамический двумерный массив целых чисел
Помогите создать динамический двумерный массив целых чисел (матрица) Базовый...

Как создать двумерный динамический массив на указателях?
Имеется вот такой код, но если поставить **b выбивает ошибку; unsafe public...

Как сделать двумерный динамический массив типа А
В общем вот пример Ну я думаю что все понятно. Что-то вроде new A Но это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru