Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Comeodore
1 / 1 / 0
Регистрация: 28.09.2018
Сообщений: 68

Работа с List

17.11.2019, 23:44. Показов 2351. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане, мне требуется чтобы в лист записывалось 3 колонки: имя, вес и цена, мне подсказали что возможно реализовать это так
C#
1
List<Ingridients> IngridientsList = new List<Ingridients>();
И добавлять элементы вот так:
C#
1
IngridientsList.Add(new Ingridients(NameI, WeightI, PriceI))
Поясню что такое Ingridients, это класс в котором хранятся те самые имя, вес и цена и введя их с клавиатуры, мне нужно чтобы они заполнились в лист, подскажите как это правильно реализовать, ибо данным методом, у меня получается вывод дважды MenuRest.Ingridients
Основной класс:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace MenuRestr
{
    public class Program
    {
 
        public const string DefaultName = " ";
        public const int DefaultWeight = 0;
        public const int DefaultPrice = 0;
        public static void Main(string[] args)
        {
            bool Repeat;
            List<Ingridients> IngridientsList = new List<Ingridients>();
            do
            {
                try // Обработка исключений
                {
                    Console.WriteLine("Enter name of Ingridient:");
                    string NameI = Console.ReadLine();
                    Console.WriteLine("Enter weight of Ingridient:");
                    double WeightI = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("Enter price of Ingridient:");
                    double PriceI = Convert.ToDouble(Console.ReadLine());
                    IngridientsList.Add(new Ingridients(NameI, WeightI, PriceI));
                }
                catch // При возникновении исключений
                {
                    Console.WriteLine("Something went wrong");
                }
                Console.WriteLine("Do you want repeat? 1/0");
                Repeat = Convert.ToBoolean(Convert.ToInt16(Console.ReadLine()));
            } while (Repeat == true);
            for(int i=0;i<IngridientsList.Count;i++)
            {
                Console.WriteLine(IngridientsList[i]);
            }
            Console.ReadKey();
        }
    }
}
Класс Ingridients:
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
29
30
31
32
33
34
35
36
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace MenuRestr
{
    public class Ingridients : Program
    {
        private string NameIngr { get; set; }
        private double WeightIngr { get; set; }
        private double PriceIngr { get; set; }
        public Ingridients()
        {
            NameIngr = " ";
            WeightIngr = 0;
            PriceIngr = 0;
        }
        public Ingridients(string NameIngr, double WeightIngr, double PriceIngr)
        {
            this.NameIngr = NameIngr;
            this.WeightIngr = WeightIngr;
            this.PriceIngr = PriceIngr;
        }
        public static void CoutIngr(Ingridients Obj)
        {
            if (Obj.NameIngr == Program.DefaultName || Obj.WeightIngr == Program.DefaultWeight || Obj.PriceIngr == Program.DefaultPrice)
                Console.WriteLine("Refill data of ingridient");
            else
            {
                Console.WriteLine("| " + Obj.NameIngr + " | " + Obj.WeightIngr + " gr | " + Obj.PriceIngr + " UAH |");
            }
        }
    }
}
Заранее спасибо всем откликнувшимся.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2019, 23:44
Ответы с готовыми решениями:

Работа с STL list + пропись List.h
Здравствуйте! Помогите, пожалуйста, разобраться с STL list. Нужно сделать программу в которой будет содержаться класс Student, прописать...

Задание по темам: ООП, исключения, работа со строками (возможно применение коллекций List), работа с компоновщиком
ТЯЖЕЛО РАБОТАТЬ С КОМПОНОВЩИКОМ. БУДУ РАД ВАШИМ ОТВЕТАМ. 1. Ознакомиться с принципом работы структурного шаблона проектирования...

Конвертировать один элемент из List<List<Class>> в list и string
Как можно перевести один выбранный элемент из List&lt;List&lt;Data&gt;&gt; myList в list и string? Например, myList. Сейчас я могу с помощью...

10
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
18.11.2019, 00:17
чёта мешанина какая-то, задача то в чем?
а нахрена Ingridients наследуется от Program, где сам Ingridients и используется?!ингредиенты ЯВЛЯЮТСЯ программой?
1
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
18.11.2019, 00:21
Лучший ответ Сообщение было отмечено Comeodore как решение

Решение

Comeodore,
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
public class Program
    {
        public static void Main()
        {
            {
                string uk = $"uk-UA";
                Console.OutputEncoding = Encoding.UTF8;
                Console.CursorVisible = false;
                Console.ForegroundColor = ConsoleColor.Green;
                CultureInfo.CurrentCulture = new CultureInfo(uk);
            }
 
            List<Ingridient> ingridients = new List<Ingridient>();
 
            do
            {
                Console.Clear();
 
                Console.Write("Enter ingridient name: ");
                string name = Console.ReadLine();
 
                double weight = 0;
                Console.Write("Enter ingridient weight: ");
                while(!double.TryParse(Console.ReadLine(), out weight))
                    Console.Write("Enter ingridient weight: ");
 
                double price = 0;
                Console.Write("Enter ingridient price: ");
                while(!double.TryParse(Console.ReadLine(), out price))
                    Console.Write("Enter ingridient price: ");
 
                ingridients.Add(new Ingridient(name, weight, price));
            }
            while(Console.ReadKey(true).Key != ConsoleKey.Escape);
 
            Print(ingridients);
 
            Console.ReadKey(true);
        }
 
        public static void Print<T>(List<T> list)
        {
            foreach(var item in list)
                Console.WriteLine(item);
        }
    }
 
    public class Ingridient
    {
        public Ingridient() { Name = string.Empty; Weight = 0d; Price = 0d; }
        public Ingridient(string name, double weight, double price) { this.Name = name; this.Weight = weight; this.Price = price; }
 
        private string _name;
        public string Name
        {
            get { return _name; }
            set { if(!string.IsNullOrEmpty(value)) _name = value; }
        }
 
        private double _weight;
        public double Weight
        {
            get { return _weight; }
            set { if(value > 0) _weight = value; }
        }
 
        private double _price;
        public double Price
        {
            get { return _price; }
            set { if(value > 0) _price = value; }
        }
 
        public override string ToString() => $"{this.Name} \t| {this.Weight} гр. \t| {this.Price}{CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol}";
    }
1
 Аватар для Comeodore
1 / 1 / 0
Регистрация: 28.09.2018
Сообщений: 68
18.11.2019, 00:37  [ТС]
Цитата Сообщение от Diamante Посмотреть сообщение
чёта мешанина какая-то, задача то в чем?
а нахрена Ingridients наследуется от Program, где сам Ingridients и используется?!ингредиенты ЯВЛЯЮТСЯ программой?
Это нужно было для университета, показать просто пример наследования, не успел удалить) Спасибо за замечание.
0
 Аватар для Comeodore
1 / 1 / 0
Регистрация: 28.09.2018
Сообщений: 68
18.11.2019, 01:04  [ТС]
Arthur Progy,
Не работает
Изображения
 
0
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
18.11.2019, 07:58
Comeodore, а разве на изображении не ваша программа и его результат?
1
 Аватар для Comeodore
1 / 1 / 0
Регистрация: 28.09.2018
Сообщений: 68
18.11.2019, 13:25  [ТС]
Цитата Сообщение от Arthur Progy Посмотреть сообщение
Comeodore, а разве на изображении не ваша программа и его результат?
Дело в том что мне требуется чтобы выводились данные которые я вписал, собственно потому я и обратился сюда, то что сейчас выводит моя программа, она выводила и до того)
0
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
18.11.2019, 22:01
Comeodore, разве не так вам нужно?
Изображения
 
1
 Аватар для Comeodore
1 / 1 / 0
Регистрация: 28.09.2018
Сообщений: 68
18.11.2019, 22:43  [ТС]
Цитата Сообщение от Arthur Progy Посмотреть сообщение
Comeodore, разве не так вам нужно?
Изображения
Так и нужно, видимо упустил что-то, сейчас посмотрю
0
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
18.11.2019, 22:46
Comeodore, отправленный мною код полностью рабочий.
1
 Аватар для Comeodore
1 / 1 / 0
Регистрация: 28.09.2018
Сообщений: 68
18.11.2019, 22:50  [ТС]
Цитата Сообщение от Arthur Progy Посмотреть сообщение
Comeodore, отправленный мною код полностью рабочий.
Хорошо, благодарю Вас.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2019, 22:50
Помогаю со студенческими работами здесь

Linq преобразование List<List<double>> в List<Array>
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из List&lt;List&lt;double&gt;&gt;. Таким...

Определить предикат Р(List,Х) который истинен если Х состоит из пар элементов списка List,сумма которых больше половины элементов List
Помогите пожалуйста написать программу,буду очень благодарен,заранее спасибо! Определить предикат Р(List,Х) который истинен если Х...

Работа с List<>
Народ, подскажите, как можно реализовать вот такую задачку, есть массив, типа List&lt;&gt;. Нужно в каждом элементе из этого массива...

Работа с To Do List
Здравсвуйте. Пишу плагин для лотуса с помощью с++ sdk, который манипулирует тасками в ToDo List. Возникла проблема при добавлении...

Работа с List
вот собственно покопался, но нигде ненашел ответа. Нужно следующее, есть Лист1 и Лист2, нужно получить элементы которые входят в оба...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru