Есть самописный класс
public class SectionClass
{
public string Name {get;set;}
public string Comment {get; set; }
...
public string Value {get;set;}
}
Есть список List<SectionClass> MyList. В нем можно получить объект из списка по индексу
SectionClass section = MyList[2]
Вопрос: как сделать так, что-бы можно было получать объект по свойству, вот так
SectionClass section = MyList["Секция 1"]
Если речь идет о самописной коллекции, то вы можете объявить свой индексатор, а за "кулисами" делать все, что душе угодно, например видимость того, что массив индексируется не с 0, а с 1, а можете как вы хотите сделать индексацию по строке.
Например, так:
public class Reports
{
System.Collections.Generic.IDictionary<string,string> queries;
public string this[string key]
{
get
{
return this.queries[key];
}
}
}
Никак, List<T> предоставляет к элементам доступ только по индексу.
Если нужен доступ по какому-то ключу, стоит вместо списка использовать Dictionary<TKey,TValue>
Либо воспользоваться поиском, например с помощью метода Find
Либо с помощью Linq, например метод First
Dictionary<string, SectionClass> MyList = Dictionary<string, SectionClass>();
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости