using System; namespace _01Indexer { class Person { public string Name { get; private set; } public Person(string Name) { this.Name = Name; } } class PersonenManager { private Person[] personen = new Person[10]; public Person this[int x] { get => personen[x]; set { personen[x] = value; } } #region Weitere Möglichkeiten public Person[] this[string text] { get { int anz = 0; foreach (Person p in personen) { if (p != null && p.Name.Contains(text)) anz++; } if (anz == 0) return null; Person[] pfeld = new Person[anz]; anz = 0; foreach (Person p in personen) { if (p != null && p.Name.Contains(text)) pfeld[anz++] = p; } return pfeld; } } #endregion } class Program { static void Main(string[] args) { PersonenManager pm1 = new PersonenManager(); pm1[0] = new Person("Anton"); pm1[1] = new Person("Berta"); pm1[2] = new Person("Claudia"); pm1[3] = new Person("Dieter"); #region Weitere Möglichkeiten Person[] pers = pm1["er"]; foreach (Person p in pers) { Console.WriteLine(p.Name); } #endregion } } }