У меня есть основной класс содержащий множество классов. Для примера возьмем несколько:
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.)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей