Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 30.09.2018
Сообщений: 10

Словарь со списком

01.11.2018, 23:01. Показов 6153. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте. Начинаю осваивать (или начинаю начинать осваивать) программирование самостоятельно, возникает много вопросов. Например такой.
В программе есть словарь, в качестве значения которого указан список, примерно так:

C#
1
2
3
Dictionary<float, List  <float> > Tablica_nominalov = new Dictionary<float, List<float>>();
Tablica_nominalov.Add(6, new List<float> { 1, 0.8F, 0.6F });
Tablica_nominalov.Add(5, new List<float> { 0.8F, 0.5F });
Пусть ключ имеет значение 6. Как мне вернуть / вывести / каким-либо образом получить все значения из списка {1, 0 .8, 0.6}?
Так у меня не работает =(
C#
1
2
float kluch = 6;
float [] spisok = Tablica_nominalov.[kluch];
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.11.2018, 23:01
Ответы с готовыми решениями:

Словарь со списком внутри
Всем привет. Пытаюсь сделать словарь, у которого ключом будет строка(имя животного), а значением список(параметров животного). Подскажите,...

Словарь со списком словарей
Добрый вечер, помогите пожалуйста разобраться с задачей! Вам дан словарь, содержащий в себе списки словарей. Напишите код, который...

Как создать словарь со списком словарей?
Добрый день. Вот такая структура лежит в json файле: { список 1 список 2 } как обновлять списки? т е я хочу записывать список...

7
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
01.11.2018, 23:30
Лучший ответ Сообщение было отмечено maratn как решение

Решение

maratn, Если точно знаете что такой индекс есть:
C#
1
Tablica_nominalov.Where(x => x.Key == 5).Select(x => x.Value).FirstOrDefault().ForEach(z => Console.WriteLine(z));
А вообще правильней делать сначала проверку существования ключа.

Добавлено через 2 минуты
Вот так
C#
1
2
3
4
5
6
            if (Tablica_nominalov.ContainsKey(6))
            {
                var list = Tablica_nominalov[6];
                foreach (var item in list)
                    Console.WriteLine(item);
            }
0
1524 / 515 / 126
Регистрация: 09.01.2018
Сообщений: 1,622
02.11.2018, 09:23
Лучший ответ Сообщение было отмечено maratn как решение

Решение

maratn,

C#
1
2
3
4
5
6
7
8
9
10
            var dict = new Dictionary<float, List<float>>();
 
            float key = 6.0f;
            if (dict.TryGetValue(key, out var list))
            {
                foreach (var item in list)
                {
                    Console.WriteLine(item);
                }
            }
0
0 / 0 / 0
Регистрация: 30.09.2018
Сообщений: 10
02.11.2018, 20:09  [ТС]
C#
1
var list = Tablica_nominalov.[6];
Visual Studio ругается "Требуется идентификатор"

C#
1
foreach (var item in list)
А на это выдает:
"Оператор foreach не работает с переменными типа "?", так как "?" не содержит открытого определения экземпляра для "GetEnumerator"


C#
1
Tablica_nominalov.Where(x => x.Key == 5).Select(x => x.Value).FirstOrDefault().ForEach(z => Console.WriteLine(z));
Это работает, но логика этого выражения для меня пока сложновата
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
02.11.2018, 20:19
Цитата Сообщение от maratn Посмотреть сообщение
Visual Studio ругается "Требуется идентификатор"
Где вы в моём коде точку увидели ?
C#
1
var list = Tablica_nominalov.[6];
Так нужно
C#
1
var list = Tablica_nominalov[6];
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
02.11.2018, 20:43
Цитата Сообщение от maratn Посмотреть сообщение
Так у меня не работает =(
Цитата Сообщение от maratn Посмотреть сообщение
float [] spisok = Tablica_nominalov.[kluch];
C#
1
List<float> spisok = Tablica_nominalov[kluch];
Добавлено через 1 минуту
или
C#
1
2
3
using System.Linq;
///.....
float [] spisok = Tablica_nominalov[kluch].ToArray();
0
0 / 0 / 0
Регистрация: 30.09.2018
Сообщений: 10
02.11.2018, 21:27  [ТС]
Где вы в моём коде точку увидели ?
Действительно. Спасибо!
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
02.11.2018, 23:05
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
 
namespace Question2344290
{
    class Program
    {
        static void Main(string[] args)
        {
            // Литеральная инициализация словаря из C#6
            var Tablica_nominalov = new Dictionary<float, List<float>>()
            {
                [6] = new List<float> { 1, 0.8F, 0.6F },
                [5] = new List<float> { 0.8F, 0.5F }
            };
 
            float kluch = 6;
            // Здесь список должен быть списком, а не массивом. Элемент словаря - список.
            List<float> spisok;
 
            // Если ключ словаря найден, то присвоит значение.
            // Если ключ соваря не найден, то переменная spisok так и останется null
            Tablica_nominalov.TryGetValue(kluch, out spisok);
 
            Console.ReadKey();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.11.2018, 23:05
Помогаю со студенческими работами здесь

Разобраться в некоректности программы!(англо-русский словарь лин. списком)
Здравствуйте,помогите пожалуйста с программой,требуется написать программу для русско-английского словаря,читать слова из текстового файла...

Алфавитно-частотный словарь для заданного файла со списком слов
Постройте полную программу, которая составляет алфавитно-частотный словарь для заданного файла со списком слов. В предыдущей задаче...

Не получается вложить словарь в словарь
Друзья, доброго времени суток! Не могу понять, почему у меня не получается вложить словарь в словарь. Set Header =...

Как реализовать работу со списком строк и списком цифр в классе List?
Добрый день! Проблема такая Есть класс-список: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; using...

Как сделать цикл со списком имен файлов и списком для их переименования
Здравствуйте, прошу помощи уважаемые форумчане. Есть файлы с определенными названиями в разных папках, например: D:\Work\1.doc ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru