С помощью чего можно создать метод для поиска обьекта в Листе консольного приложения - C#
Формулировка задачи:
Подскажите с помощью чего можно создать метод для поиска обьекта в Листе консольного приложения? Пожалуйста готовый код не выкладывайте, хочу сам сделать!
Решение задачи: «С помощью чего можно создать метод для поиска обьекта в Листе консольного приложения»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
List<Liga> ligs = new List<Liga>();
Liga apl = new Liga();
apl.Nazva = "АПЛ";
Liga upl = new Liga();
upl.Nazva = "УПЛ";
Komanda shakhtar = new Komanda();
shakhtar.Nazvanie = "Шахтер";
Komanda dnipro = new Komanda();
dnipro.Nazvanie = "Днепр";
Komanda dinamo = new Komanda();
dinamo.Nazvanie = "Динамо К";
upl.Teams.Add(shakhtar);
upl.Teams.Add(dinamo);
upl.Teams.Add(dnipro);
Komanda manU = new Komanda();
manU.Nazvanie = "ManUtd";
apl.Teams.Add(manU);
Igrok sheva = new Igrok();
sheva.Name = "Андрей";
sheva.SecondNames = "Шевченко";
dinamo.Igroks.Add(sheva);
Igrok konoplaynka = new Igrok();
konoplaynka.Name = "Евгений";
konoplaynka.SecondNames = "Коноплянка";
Igrok mandzyk = new Igrok();
mandzyk.Name = "Виталий";
mandzyk.SecondNames = "Мандзюк";
Igrok lashtuvka = new Igrok();
lashtuvka.Name = "Ян";
lashtuvka.SecondNames = "Лаштувка";
Igrok nani = new Igrok();
nani.Name = "Nani";
ligs.Add(apl);
ligs.Add(upl);
manU.Igroks.Add(nani);
dnipro.Igroks.Add(mandzyk);
dnipro.Igroks.Add(lashtuvka);
dnipro.Igroks.Add(konoplaynka);
foreach (var x in ligs)
{
Console.WriteLine("Лига: " + x);
foreach (var team in x.Teams)
{
Console.WriteLine(team);
foreach (var igrok in team.Igroks)
{
Console.WriteLine(igrok);
}
}
}
Console.WriteLine();
Komanda searchedTeam = upl.Teams.Find(new Predicate<Komanda>(SearchDnepr));
Console.WriteLine("Команда найдена:");
Console.WriteLine(searchedTeam.Nazvanie);
Console.ReadKey();
}
public static bool SearchDnepr(Komanda kom) //вот я метод создал как у тебя
{
return kom.Nazvanie == "Днепр";
}
} //конец класса Program.cs
class Liga //Класс Liga
{
string nazvanie; //Закрытый член класса Liga
List<Komanda> komanda = new List<Komanda>();
/// <summary>Список команд</summary>
public List<Komanda> Teams
{
get { return komanda; }
}
public string Nazva // Обращение к закрытому члену класса с помощью свойства nazva
{
get { return nazvanie; } //Возвращаем значение nazvanie
set { nazvanie = value; } //Устанавливает новое значение nazvanie
}
public override string ToString() //Переоприделение метода для преобразования обьекта в строковое представление
{
return Nazva;
}
}
public class Komanda //Класс Komanda вложеный в класс Liga
{
string nazva;
List<Igrok> igroks = new List<Igrok>();
public List<Igrok> Igroks
{
get { return igroks; }
}
public string Nazvanie //Оприделение свойства nazvanie
{
get { return nazva; }//Возвращаем значение nazvanie
set { nazva = value; } //Устанавливает новое значение nazvanie
}
public override string ToString() //Переопределение метода
{
return nazva;
}
}
public class Igrok //Класс Igrok вложеный в класс Komanda
{
string rang; //Закрытые переменные экземпляра
string name;
string secondName;
//Оприделение свойств для закрытых переменных класса Igrok
public string Rangs
{
get { return rang; }
set { rang = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public string SecondNames
{
get { return secondName; }
set { secondName = value; }
}
public override string ToString() //Переопределение метода для преобразования обьекта в строковое представление
{
return rang + ' ' + name + ' ' + secondName;
}
}
}