У меня есть основной класс содержащий множество классов. Для примера возьмем несколько:
public class Data
{
public Monkeyking MonkeyKing { get; set; }
public Jax Jax { get; set; }
public Shaco Shaco { get; set; }
public Warwick Warwick { get; set; }
public Xayah Xayah { get; set; }
public Nidalee Nidalee { get; set; }
public Zyra Zyra { get; set; }
}
И вот например несколько вложенных классов
public class Monkeyking
{
public string title { get; set; }
public int id { get; set; }
public string key { get; set; }
public string name { get; set; }
}
public class Jax
{
public string title { get; set; }
public int id { get; set; }
public string key { get; set; }
public string name { get; set; }
}
public class Shaco
{
public string title { get; set; }
public int id { get; set; }
public string key { get; set; }
public string name { get; set; }
}
Можно ли как то реализовать поиск среди всех вложенных классов что бы сравнивать введенное значение с id
во вложенных классах и вывести весь класс в котором id
совпадет с введенными данными
У вас неверная структура данных.
Скорее всего, вам нужен не класс, а словарь персонажей:
public class Character
{
public string Title { get; set; }
public int Id { get; set; }
public string Key { get; set; }
public string Name { get; set; }
}
ну и
string[] names = { "Monkeyking", "Jax", "Shaco", "Warwick", "Xayah", "Nidalee", "Zyra" };
Dictionary<string, Character> Data = names.ToDictionary(n => n, n => new Character());
При этом поиск можно проводить через LINQ:
var keys = Data.Where(kvp => kvp.Value.Id == 1).Select(kvp => kvp.Key);
(В случае, если нужно искать много и часто, стоит проиндексировать по id
.)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как подписать и зашифровать файл используя библиотеку КриптоПроNET SDK имея USB токен? Алг
Есть desktop приложение на JavaПодумываю перенести его на С#, исходя из того что большинство пользователей будет на Windows
При запросе пользователя я хочу произвести несколько запросов к БД и потом вывести ответНо, если я использую
Подскажите пожалуйста, возможно ли создать крестик для закрытия вкладок, как в Chrome для Windows Forms (TabPage)