Как отсортировать элементы списка по возрастанию цены?
Были попытки сделать это через оператор orderby
, но в таком случае просто сортирует одни цены, без остальных полей.
public class Game // Класс для работы с данными
{
public struct Product
{
public string Name; // Название
public double Price; // Цена
public string Developer; // Разработчик
public Product(string Name, double Price, string Developer) // Конструктор
{
this.Name = Name;
this.Price = Price;
this.Developer = Developer;
}
}
public List<Product> Conf = new List<Product>();
public void Print(ref List<Product> Conf) // Хранение элементов
{
Conf.Add(new Product("Darkest Dungeon", 389, "Red Hook"));
Conf.Add(new Product("Death's Gambit", 419, "White Rabbit"));
Conf.Add(new Product("Doom", 799, "Id Software"));
Conf.Add(new Product("The Evil Within", 649, "Bethesda"));
Conf.Add(new Product("The Little Nightmares", 599, "Bandai Namco"));
}
// Добавление продукта
public static void Input(out string a, out string b, ref int c)...
// Изменение данных о продукте
public void IzmDan(ref List<Product> Conf)...
// Удаление продукта
public void Delete(ref List<Product> Conf)...
// Добавление в список
public void Adding(string Name, double Price, string Developer)
{
Product a = new Product();
a.Name = Name;
a.Price = Price;
a.Developer = Developer;
Conf.Add(a);
}
// Сортировка
public void Sort(ref List<Product> Conf)
{
int number = 0;
bool flag = false;
string temp;
Console.WriteLine("Сортировать по: \n 1) Возрастанию цены\n 2) Убыванию цены\n 3) Выход");
temp = Console.ReadLine();
switch(number)
{
case 1:
break;
case 2:
break;
case 3:
flag = true;
break;
default:
break;
}
}
}
class Program
{
static void Main(string[] args)
{
string temp;
string a, b;
int c = 0, num;
Game q = new Game();// Экземпляр класса
q.Print(ref q.Conf); // Заполнение по умолчанию
bool flag = true;
while (flag)
{
Console.WriteLine();
Console.WriteLine(" Наименование продукта | Цена | Разработчик \n\n");
foreach (Game.Product z in q.Conf)
{
Console.WriteLine(" {0} | {1} | {2}\n", z.Name, z.Price, z.Developer);
}
// Вывод элементов
Console.WriteLine();
Console.WriteLine(" 1) Добавить продукт\n 2) Изменить продукт\n 3) Удалить продукт\n 4) Сортировка\n 5) Выход");
temp = Console.ReadLine();
if (int.TryParse(temp, out num))
{
switch (num)// Оператор выбора
{
case 1:
Game.Input(out a, out b, ref c);
q.Adding(a, c, b); // Добавление
break;
case 2:
q.IzmDan(ref q.Conf); // Изменение
break;
case 3:
q.Delete(ref q.Conf); // Удалить
break;
case 4:
q.Sort(ref q.Conf); // Сортировка
break;
case 5:
flag = false;
break;
default:
Console.WriteLine("Ошибка ввода");
break;
}
}
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не могу понять в чем проблемаMainVM существует в StepByStepServer
Необходимо отслеживать подключение, отключение USB-COM переходника (FTDI или других)В Windows это сделать не проблема (через тот же WMI), а каким инструментом...
Задача: Сделать так чтобы каждый месяц 1 числа в БД записывалось какое-то значениеЕсть идеи как это реализовать?
Столкнулся с проблемой GoogleChartsЯ хочу вывести график на cтраницах которые отображаю с помощью виджета