Читав я книгу по С#. Дійшов до теми Індексатори.Прикольна штука. За допомогою індексаторів можна звертатись до полів класу(або і структури) через індекси, так як до масивів. Ось я набрав маленький приклад. Звичайно я сумніваюсь що хтось взагалі так робить, так як я написав.
Код:
Код:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class ListSample{
private List<string> UserList=new List<string>(10);
private List<string> AdminList=new List<string>(10);
private List<string> GuestList=new List<string>(10);
public void addUser(string name)
{
UserList.Add(name);
}
public void addAdmin(string name)
{
AdminList.Add(name);
}
public void addGuest(string name)
{
GuestList.Add(name);
}
public string this [int i,int j]
{
get{
switch(i)
{
case 0:
{
return UserList[j];
}
case 1:
{
return AdminList[j];
}
case 2:
{
return GuestList[j];
}
default:
throw new IndexOutOfRangeException("Ви вийшли за межі");
}
}
}
}
class Program
{
[STAThread]
static void Main(string[] args)
{
ListSample ls=new ListSample();
ls.addAdmin("BILL");
ls.addGuest("Guest");
ls.addUser("Joe");
Console.WriteLine("User={0}",ls[0,0]); //Ось тут ми кристуємось нашим індексатором
Console.WriteLine("Admin={0}", ls[1, 0]);
Console.WriteLine("Guest={0}", ls[2, 0]);
Console.ReadLine();
}
}
}
Comments