У меня есть около десяти тысяч строчек в таблице следующего формата:
id может быть буквенное.
Нужно в программе на C# уметь сопоставлять для id соответствующую ему group.
Для этого я хочу создать dictionary и по ключу id доставать значение group (как value). Но данных у меня очень много (порядка 10 тысяч строчек). Поэтому два вопроса:
Спасибо!
Вот есть интересная статья по поводу работы колекций из стандартной библиотеки.
Самый очевидный конкурент Dictionary - Hashtable.
Можно выделить, что Dictionary хорошо работает с вставкой элементов при большом размере самой колекции. При этом, Hashtable хорош при поиске элементов.
В целом, использование словаря - оптимальный вариант.
Так же в интернете полно примеров подключения c# к excel. Вот, например:
string con =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp\test.xls;" +
@"Extended Properties='Excel 8.0;HDR=Yes;'";
using(OleDbConnection connection = new OleDbConnection(con))
{
connection.Open();
OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection);
using(OleDbDataReader dr = command.ExecuteReader())
{
while(dr.Read())
{
var row1Col0 = dr[0];
Console.WriteLine(row1Col0);
}
}
}
Да, использование словаря наиболее удобно. Словарь и есть «материализованное» отображение одного множества на другое. Более эффективным может быть просто массив, если ваши ключи — последовательные целые числа.
Как угодно.
var dict = new Dictionary<int, string>() { [1] = "one", [2] = "two" };
. Вы можете пойти этим путём, но файл с исходником вам, вероятно, придётся сгенерировать одноразовым скриптом.Виртуальный выделенный сервер (VDS) становится отличным выбором
Здравствуйте, помогите пожалуйста решить мою задачуУ меня есть три таблицы в базе данных: Материк, Страна, Город
Раскрывать элемент диаграммы по которому кликнулиНа входе такой массив, где child - это это те элементы, которые надо раскрыть
Проблема при конвертации heic в jpgИспользую официальную библиотеку на js