2025년 2월 10일 월요일

c# dynamic 변수에 배열 추가하기

C#에 dynamic 변수가 있는데 프로그램 실행중에 동적으로 타입이 결정된다..

일장일단이 있는데 보통 dynamic변수는 새롭게 구조체나 클래스를 만들기 번거롭거나

조건에 따라 응답을 달리해야하는 json result등을 만들때 많이 사용된다.


이 dynamic 변수에 배열을 넣는 방법은 먼저  IEnumable을 할수 있는 데이터를 
미리준비하고 그에따라 linq의 select 확장메서드 같은것 이용해서 만들면된다.

예를들어 교실이라는 클래스에 교실 정원, 교실 위치, 담당 선생님이름, 학생명부
로 되어있는 자료형이 있다고 했을때 이를 dynamic으로 변환할때 다른건 다좋은데
학생명부 student_list 같은것은 배열로 들어가 있어야할것인데 이처리를 하는 
방법은 다음과 같이


dynamic classRoom = new {
    StudentCount = 15,
    Location = "2F1B",
    TeacherName = "김선생",
    Students = student_list.Select(p => new { p.StudentNo, p.StudentName, p.Gender }).ToArray(),
};

요로코롬 구현하면 된다.  ㅇㅇ

댓글 없음:

댓글 쓰기