Skip to main content

Індексатори у C#

Читав я книгу по С#. Дійшов до теми Індексатори.Прикольна штука. За допомогою індексаторів можна звертатись до полів класу(або і структури) через індекси, так як до масивів. Ось я набрав маленький приклад. Звичайно я сумніваюсь що хтось взагалі так робить, так як я написав.

Код:

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

Popular posts from this blog

New Personal Website

Hello World, hello my blog again. I have good news, finally, I created my website , I do not know exactly what is the main goal for that and how it will be updated. Now I want to sync my current posts from the blogger platform and personal website, it can be easily done by using the `Blogger API` with some extra requirements which I want to have.   Especially,   - able to show/hide the post separately from blogger (1)   - use custom posts order (2)   - add some extra information besides tags (3)    For instance, technology stack, team size, etc. - add a possibility to use any 3rd party code highlighter instead of post-computed HTML from blogger (4) I think that the 4 the most required and nice feature - able to sync manually, or use cron for syncing with blogger (5)   There is some initial schema of my application   This is a pretty simple solution: two go services, one for fetching data, checking referential integr...

Університет нафти і газу

Всім привіт. Я поступив в національний технічний університет Нафти і Газу. Поступив на 2 курс, хоча мав б бути на третьому. Я дякую, за те, що поступив на другий курс на держ. форму. Але не все так просто. Потрібно перезаразувати години предметів, які вчили в універі на 1 і частково на 2 курсі, для того щоб без проблем перейти на 3 курс. На рахунок програмування, майже нічого нового немає. Хіба що будем вчити Java на на предметі "технологія розробки ПЗ". Ось і все, що я хотів написати. Всім удачі!