본문 바로가기
개발언어/C#

[C#] Dictionary Value 로 Class 사용하기

by 창용이랑 2021. 8. 24.
728x90

class 선언

public class Person
{
	public int personNumber;
	public string name;
	public int age;

	public Person(int personNumber, string name, int age)
	{
		this.personNumber = personNumber;
		this.name = name;
		this.age = age;
	}
}

 

Dictionary<int, Person> dicPerson = new Dictionary<int, Person>();
dicPerson.Add(1001, new Person(1001, "홍길동", 36));
dicPerson.Add(1002, new Person(1002, "임꺽정", 26));
dicPerson.Add(1003, new Person(1003, "프랑캔", 36));

// personNumber 1001 의 name 
Console.WriteLine("personNumber 1001 의 name : {0}", dicPerson[1001].name);

// 임꺽정의 나이
int age = dicPerson.Where(w => w.Value.name == "임꺽정").Select(s => s.Value.age).FirstOrDefault();
Console.WriteLine("임꺽정의 나이 : {0}", age);

// 36세 모두 찾기.
foreach(Person p in dicPerson.Where(w=>w.Value.age == 36).Select(s=>s.Value))
{
	Console.WriteLine("{0}세. 이름 : {1} ", p.age, p.name);
}

 

결과

personNumber 1001 의 name : 홍길동
임꺽정의 나이 : 26
36세. 이름 : 홍길동 
36세. 이름 : 프랑캔

 

출처 : https://hello-bryan.tistory.com/20