- [ ] 기본 인터페이스 구현
- [ ] 고급 패턴 일치 및 스위치 표현식
- [ ] 비동기 해제
- [ ] 인덱스와 범위
- [ ]
new()
에서 타입 생략 - [ ] 전역 및 암시적 Using
- [ ] 파일 범위 네임스페이스
좋은 내용이네요!
- 인덱스와 범위
이 기능은 IDE에서도 변경을 지원해주더라고요
예를들어 uri[uri.Length - 1] == '/'
이런 코드는 uri[^1] == '/'
이렇게 변경하라고 하더라고요.
도대체 ^1
이건 어디서 나왔나 하고 조사를 해봤었는데 ㅋㅋ 이제보니 범위까지 지정이 가능하군요!
자주 써보면서 익숙해지면 편할 것 같네요
MSDN에 자세한 사항이 있네요. 링크 첨부합니다! 인덱스 및 범위를 사용하여 데이터 범위 탐색 - C# | Microsoft Learn
- 기본 인터페이스 구현
이 기능에 대해서 써보신 분 계신가요?
인터페이스의 기본 구현을 인터페이스를 정의할 때 같이 구현하는 걸로 보이는데
오히려 읽기 어려운 코드를 만드는거 아닌가 싶기도하고요…?? 음…
기본 인터페이스 구현은 인터페이스를 확장할 때 의미가 있습니다. 인터페이스를 확장하면서도 그 인터페이스를 구현한 구현체를 변경하지 않도록 하는 일종의 호환성을 위한 것입니다.
그러므로 일반적으로는 쓸 일은 거의 없다고 봐야겠어요.
v 고급 패턴 일치 및 스위치 표현식
v new()에서 타입 생략
v 전역 및 암시적 Using
v 파일범위 네임스페이스
이렇게 많이 쓰고 있습니다.
기존 switch 자체가 못생기진 않았지만 익숙해지니 switch
쓰는 재미가 쏠쏠합니다.
(모든 상황을 다 대체할 순 없지만)
Content = value.PageId switch
{
Pages.CameraDocument => new FrameworkHome(),
Pages.Git => new DevStorageMain(),
Pages.FileTree => new ReflectorMain(),
_ => new NotFoundPage(),
};
그리고 new() 타입 생략은 이제 모든 영역에서 쓰고 있고 엄청 만족스럽습니다.
public RelayCommand<string> ClickCommand { get; init; }
...
ClickCommand = new(Click);
using과 namespace도 계속 익숙해지니 괄호 계층 하나 더 없애는 것이 생각보다 깔끔해서 좋네요.
(일괄로 바꾸면 좋습니다.)