C#/ASP.NET MVC

Generic List와 사용자정의 클래스

S_pot 2022. 3. 16. 22:59

Generic List: 동일한 타입의 값들을 한 변수에 담고 싶을 때 사용

사용자정의 타입: 2차원 데이터를 처리하기 위해 사용

 

 

Main

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GenericList
{
    class Program
    {
        static void Main(string[] args)
        {
            //Generic List: 동일한 타입의 값들을 한 변수에 담고 싶을때 사용

            // Generic List
            List<int> list = new List<int>();
            // 여기서 선언한 list는 숫자만 담을 수 있다.
            list.Add(1);
            list.Add(2);
            list.Add(3);
            list.Add(4);
            list.Add(5);
            // 이와같은 방법으로 List에 값을 넣어준다.

            // list값을 출력하기 위해서는 foreach문을 사용
            foreach(var num in list) // num에 list값을 담아준다.
            {
                Console.WriteLine(num);
                // 이를 출력하면 list의 값인 1,2,3,4,5가 차례로 출력된다.
            }

            // List안에 string을 입력하면 문자열 값을 담을 수 있다.
            List<string> list2 = new List<string>();

            var list3 = new List<int>();
            // 이런식으로 생성할 경우 형식을 바꾸기 위해서 뒤에 int만 수정해주면 된다.

            // .net 프레임워크 4버전 이상부터는 아래와 같이 리스트에 값을 담아줄 수 있다.
            var list4 = new List<string>()
            {
                "text1",
                "text2",
                "text3",
                "text4",
                "text5"
            };

            // 사용자정의 타입
            // 1 2 3 4 5 6 7 8 9 10
            // 1 2 3 4 5 6 7 8 9 10
            // 1 2 3 4 5 6 7 8 9 10

            // 이와같이 2차원 데이터를 처리하기 위해 사용 아래와 같은 예시를 들 수 있음

            // 번호  이름   나이       연락처
            // 01   임똘똘   30    010-1234-1234
            // 02   권똘똘   31    010-4321-4321

            // User 클래스를 생성해 getter, setter를 만들어준다.

            var user1 = new User();
            user1.No = 1;
            user1.name = "임똘똘";

            var user2 = new User();
            user2.No = 2;
            user2.name = "권똘똘";

            var list5 = new List<User>();
            list5.Add(user1);
            list5.Add(user2);

            foreach(var user in list5)
            {
                Console.WriteLine("번호 : " + user.No + " / " + "이름 : " + user.name);
            }
        }
    }
}

 

User 클래스(사용자정의 클래스)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GenericList
{
    public class User
    {
        // getter, setter
        // 번호, 이름, 나이, 연락처
        // prop tab tab
        public int No { get; set; }
        public string name { get; set; }
        public int Age { get; set; }
        public string Phone { get; set; }
        // 이런식으로 User라는 타입안에 번호, 이름, 나이, 연락처의 형식을 지정했다.
    }
}

 

출력화면