Агрегирование, вывести часть данных таблицы отдельно - 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)));