1. Thread Pool 은 항상 BackGround Thread 로 동작한다. 2. Name 필드를 설정할수 없다. ( 쓰레드에 Name 필드는 설정이 한번만 가능 하기 때문 ) 3. Block 되는 코드를 사용하면 성능이 떨어진다. 4. Thread.CurrentThread.IsThreadPoolThread 속성으로 쓰레드 풀을 사용하는지 알 수 있다.
read more ...Blog
New Syntax in C# 8.0
C# 8.0 에서 바뀐점 1. Defalut Interface 가 생김 interface Test { void DefalutFunc() { ..... } } 2. Using 개선 using 블럭 사용을 개선하여 아래와 같이 사용이 가능하다 public static void Test { using FileSystem test = new FileSystem("text.txt",FileMode.CreateNew); } // test Dispose 3. Nullable Reference #nullable enable : 참조 타입 변수를 null 을 대입하면 경고를 발생시킨다. (#nullable disable : 사용안함) 4. Null 병합 할당자 c# 6.0 null 병합 연산자 string s2 = s1..
read more ...C# 8.0 Switch Expression
c# 8.0 에선 switch 확장식이 추가 되었다. ex) int n = 20; 일반적인 switch 의 사용 switch(n) { case 10 : break; default : break; } Switch Expression 사용 int s = n switch { 10 => 11, 20 => 22, 30 => 33, _=> 100 }; * _ -> default를 뜻함. *Expression 이란 하나의 값으로 계산 되는식 ( 예 : 리턴을 표기하지 않아도 하나의 값으로 예를 들어 3 * 5 같은것)
read more ...Index & Range
C# 8.0에서의 Index. 1. "^"의 개념. (Index fromEnd 의 단축 표기법) 아래의 배열이 있다고 가정했을 때.. int a = [1,2,3,4,5,6,7]; int b = a[^2]; ^ => 뒤에서 부터 순서를 센다. 단 이때는 제로 베이스가 아님 즉 실행하면 b = 6 이 나온다. 2. Index 객체 c# 8.0부터는 Index란 개념이 생겼다. 역시 객체라 아래와 같이 선언이 가능하다 Index idx = new Index(2); ex) string a = "abcdefg"; int idx1 = 2; Index idx2 = new Index(2); char c1 = a[idx1]; char c2 = a[idx2]; 둘 다 같은 결과가 나온다. c1 = c c2 = c 그럼 I..
read more ...2020.01.18
수내역 요리주점
read more ...