[C# 실습] 인덱서 정의 예제 소스 코드
[C# 실습] 인덱서 정의 예제 소스 코드
인덱서
컬렉션 형식에서 키를 인덱스 연산자에 표현하여 값에 접근할 수 있게 정의하는 것
다음은 email을 키로 하며 이름을 값으로 하는 아주 간단한 사전 형식을 정의하여 사용한 예제입니다.
Program.cs
using System;
namespace _006_캡슐화_인덱서_예2
{
class Program
{
static void Main(string[] args)
{
EDictionary edic = new EDictionary();
edic["hello@daum.net"] = "홍길동";
edic["yahoo@naver.net"] = "강감찬";
edic["abc@gmail.net"] = "아바싸";
Console.WriteLine(edic["hello@daum.net"]);
Console.WriteLine(edic["yahoo@naver.net"]);
Console.WriteLine(edic["abc@gmail.net"]);
}
}
}
EDictionary.cs
namespace _006_캡슐화_인덱서_예2
{
internal class EDictionary
{
string[] emails = new string[100];
string[] names = new string[100];
internal string this[string email]
{
get
{
int index = 0;
for(index=0; index<100;index++)
{
if(emails[index] == email)
{
return names[index];
}
}
return string.Empty;
}
set
{
int index = 0;
for (index = 0; index < 100; index++)
{
if (emails[index] == email)//같은 값이 있으면
{
names[index] = value;
return;
}
else if(emails[index] == null)//빈 자리를 발견하면
{
emails[index] = email;
names[index] = value;
return;
}
}
}
}
}
}