Поиск по ключу и значению в массиве объектов - C#
Формулировка задачи:
Имеется массив объектов класса (
Array
). Необходимо реализовать в массиве поиск по ключу и поиск по значению без использования сторонних интерфейсов. Чем они отличаются и что должно получится в результате?Решение задачи: «Поиск по ключу и значению в массиве объектов»
textual
Листинг программы
class Program
{
static void Main()
{
Collection collection = new Collection();
Console.WriteLine("Элемент по индексу 0 - {0}\nЭлемент по значению Значение 1 - {1}", collection[0].Value, collection["Значение 1"]);
}
}
class Element
{
public string Value { get; set; }
public Element(string value)
{
Value = value;
}
}
class Collection
{
Element[] _elements;
public Collection()
{
_elements = new Element[] {new Element("Значение 1"), new Element("Значение 2"), };
}
public int Length
{
get
{
return _elements.Length;
}
}
//индексатор для поиска элемента по индексу и изменения элемента по индексу
public Element this[int index]
{
get
{
return _elements[index];
}
set
{
_elements[index] = value;
}
}
//вспомогательный метод для поиска по значению
private string GetValue(string value)
{
for (int i = 0; i < _elements.Length; i++)
{
if (_elements[i].Value == value)
return "Элемент найден!";
}
return "Элемент не найден!";
}
//индексатор для поиска элемент по значению
public string this[string value]
{
get { return GetValue(value); }
}
}