Агрегирование, вывести часть данных таблицы отдельно - C#
Формулировка задачи:
Помогите не знаю как вывести часть данных таблицы отдельно например что бы после результата ниже выводилось все Типы или Номера рейса из таблицы
Вот сама прога
Листинг программы
- using System;
- using System.Linq;
- class Flight
- {
- public string T { get; private set; }
- public int R { get; private set; }
- public int Z { get; private set; }
- public int K { get; private set; }
- public double S { get { return (double)Z / K; } }
- public Flight(string T, int R, int Z, int K)
- {
- this.T = T;
- this.R = R;
- this.Z = Z;
- this.K = K;
- }
- }
- class Program
- {
- static void Main()
- {
- // Массив:
- var flights = new Flight[ReadInt("Общее число")];
- for (int i = 0; i < flights.Length; i++)
- {
- Console.WriteLine();
- Console.WriteLine($"Информация о №{i + 1}:");
- flights[i] = new Flight(
- ReadString("T. Тип"),
- ReadInt("R. Номер Рейса"),
- ReadInt("Z. Общая стоимость"),
- ReadInt("K. Число мест"));
- }
- var template = "{0,4} |{1,15} |{2,15} |{3,15} |{4,15} |{5,15:F2}";
- var line = new string('=', 89);
- Console.WriteLine();
- Console.WriteLine("Сводка:");
- Console.WriteLine(template, "№", "T", "R", "Z", "K", "S");
- for (int i = 0; i < flights.Length; i++)
- {
- var f = flights[i];
- Console.WriteLine(template, i + 1, f.T, f.R, f.Z, f.K, f.S);
- }
- Console.WriteLine(line);
- Console.WriteLine(template, "", "", "",
- flights.Sum(f => f.Z),
- flights.Sum(f => f.K),
- flights.Average(f => f.S));
- Console.ReadLine();
- }
- static string ReadString(string Label) => ReadValue(Label, s => s);
- static int ReadInt(string Label) => ReadValue(Label, int.Parse);
- static T ReadValue<T>(string Label, Func<string, T> Pipe = null)
- {
- while (true)
- {
- Console.Write($"{Label}: ");
- try { return Pipe(Console.ReadLine()); }
- catch
- {
- Console.SetCursorPosition(0, Console.CursorTop - 1);
- Console.WriteLine(new string(' ', Console.BufferWidth));
- Console.SetCursorPosition(0, Console.CursorTop - 2);
- Console.SetCursorPosition(0, Console.CursorTop - 3);
- }
- }
- }
- }
Решение задачи: «Агрегирование, вывести часть данных таблицы отдельно»
textual
Листинг программы
- Console.Write("Типы рейсов: ");
- Console.WriteLine(String.Join(", ", flights.Select(f => f.T).Distinct()));
- Console.Write("Номера рейсов: ");
- Console.WriteLine(String.Join(", ", flights.Select(f => f.R)));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д