https://www.youtube.com/watch?v=iArf2vVafM4&list=PLO56HZSjrPTB4NxAsEP8HRk6YKBDLbp7m&index=71
public class List<T>
using System;
using static System.Console;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Diagnostics;
using System.Reflection;
namespace testProject
{
class Category
{
public int CategoryId { get; set; }
public string CategoryName { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<string> colors = new List<string>() { "Red", "Blue" };
// [1] 컬렉션 이니셜라이저를 사용하여 개체 여러 개를 초기화
var categories = new List<Category>
{
new Category() {CategoryId = 1, CategoryName = "좋은 책"},
new Category() {CategoryId = 2, CategoryName = "좋은 강의"},
new Category() {CategoryId = 3, CategoryName = "좋은 컴퓨터"}
};
// [2] foreach 문으로 컬렉션 데이터를 출력
foreach(var category in categories)
{
WriteLine($"{category.CategoryId} - {category.CategoryName}");
}
}
}
}
using System;
using static System.Console;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Diagnostics;
using System.Reflection;
namespace testProject
{
// 제네릭 클래스 : T에 지정한 형식으로 클래스와 멤버의 성질이 결정
// [1] 클래스<T> 형태로 제네릭 클래스 만들기
class Cup<T>
{
public T Content { get; set; }
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
var text = new Cup<string>();
// text.Content = 1234;
text.Content = "1234";
var number = new Cup<int>();
// number.Content = "1234";
number.Content = 1234;
var person = new Cup<Person>();
person.Content = new Person { Name = "M", Age = 25 };
WriteLine($"{person.Content.Name} - {person.Content.Age}");
}
}
}
using System;
using static System.Console;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Diagnostics;
using System.Reflection;
namespace testProject
{
// [1] 형식 매개 변수 2개 사용
class Pair<T, V>
{
public T First { get; set; }
public V Second { get; set; }
public Pair(T firset, V second)
{
First = firset;
Second = second;
}
}
class Program
{
static void Main(string[] args)
{
// [A] string, bool 2개 형식으로 받기
var my = new Pair<string, bool>("나는 멋져!", true);
WriteLine($"{my.First} : {my.Second}");
// [B] int, double 2개 형식으로 받기
var tuple = new Pair<int, double>(1234, 3.14);
WriteLine($"{tuple.First} : {tuple.Second}");
}
}
}