티스토리 뷰

반응형


원본 : 

https://blogs.msdn.microsoft.com/dotnet/2019/01/29/announcing-net-core-3-preview-2/



C# 8

C# 8.0 주요 언어 릴리스입니다. 이 글에서는 Preview 2에서 새로 추가 된 몇 가지 즐겨 찾기에 대해 설명하겠습니다.


Using Declarations

코드의 들여 쓰기가 필요한 명령문을 사용하는 것에 지쳐 있습니까? 더 이상은 없어! 이제 다음 코드를 작성하면 using 문을 현재 명령문 블록의 범위에 첨부 한 다음 객체를 그 끝에 배치합니다. 

--> 들여쓰기를 하지 않아도 된다는 내용 같은데.. 정확한 내용은 원본을 참고 하세요



Switch Expressions

C#을 사용하는 사람은 switch 구문에 대한 아이디어를 좋아하지만 구문은 좋아하지 않을 것입니다. 


C# 8은 스위치 식을 도입하여 다음과 같은 기능을 제공합니다. 

- 간결한 문법

- 표현식이므로 값을 반환

- 패턴 매칭과 완벽하게 통합


switch 키워드는 "infix"입니다. 키워드는 테스트 된 값 (여기서는 o 임)과 표현식 lambdas와 같은 사례 목록 사이에 있음을 의미합니다. 다음 예제에서는 스위치 식과 잘 통합되지만 필수는 아닙니다.


static string Display(object o) => o switch

{

    Point { X: 0, Y: 0 }         => "origin",

    Point { X: var x, Y: var y } => $"({x}, {y})",

    _                            => "unknown"

};



Async streams


비동기 스트림은 C # 8의 또 다른 주요 개선점입니다. 

Visual Studio 2019 Preview 2 또는 Visual Studio Code의 C# extension에 대한 최신 버전에서 비동기 스트림을 사용하려면 .NET Core 3.0 Preview 2가 필요합니다. 명령 줄에서 .NET Core 3.0 Preview 2를 사용하면 모든 것이 예상대로 작동합니다.


IEEE Floating-point improvements


부동 소수점 API는 IEEE 754-2008 개정판을 준수하도록 업데이트되는 중입니다. 이 부동 소수점 프로젝트의 목표는 "필요한 모든"연산을 공개하고 해당 연산이 IEEE 스펙을 준수하는지 확인하는 것입니다.



.NET Platform Dependent Intrinsics


우리는 SIMD 또는 비트 조작 명령어 세트와 같은 특정 퍼센티지 지향 CPU 명령어에 액세스 할 수있는 API를 추가했습니다. 이러한 지침을 통해 데이터를 효율적으로 병렬 처리하는 등 특정 시나리오에서 성능을 크게 향상시킬 수 있습니다. 프로그램에 사용할 API를 공개하는 것 외에도 .NET 라이브러리를 가속화하기 위해이 지침을 사용하기 시작했습니다



.Introducing a fast in-box JSON Writer & JSON Document


System.Text.Json.Utf8JsonWriter 및 System.Text.Json.JsonDocument가 추가되었습니다.



GPIO Support for Raspberry Pi


Preview 2의 일부로 GPIO 프로그래밍에 사용할 수있는 두 개의 NuGet 패키지를 출시했습니다.


System.Device.Gpio


Iot.Device.Bindings



Local dotnet tools


로컬 닷넷 도구는 Preview 2에서 향상되었습니다. 로컬 도구는 dotnet 전역 도구와 유사하지만 디스크의 특정 위치와 연결됩니다. 이를 통해 프로젝트 및 저장소 별 관리가 가능합니다. .NET Core 3.0 Preview 1 게시물에서 자세한 내용을 볼 수 있습니다.



Assembly Unloadability


어셈블리 언로드 기능은 AssemblyLoaderContext의 새로운 기능입니다. 이 새로운 기능은 몇 가지 새로운 API로 공개 된 API 관점에서 크게 투명합니다. 이것은 인스턴스화 된 유형, 정적 필드 및 어셈블리 자체에 대한 모든 메모리를 해제하여 로더 컨텍스트를 언로드 할 수있게합니다. 응용 프로그램은 메모리 누수가 발생하지 않고이 메커니즘을 통해 어셈블리를로드 및 언로드 할 수 있어야합니다.



Windows Native Interop


Windows는 C API, COM 및 WinRT 형태로 풍부한 네이티브 API를 제공합니다. 우리는 .NET Core 1.0 이후 P/Invoke를 지원했으며, .NET Core 3.0 릴리스의 일부로 COM API를 CoCreate하고 WinRT API를 활성화하는 기능을 추가했습니다. 우리는 이러한 기능에 대한 많은 요청을 받았으며, 많이 사용하는 기능들을 앞으로도 추가할 예정입니다.



WPF and Windows Forms


WPF 및 Windows Forms 팀은 닷넷 코어 3.0 프리뷰 1이 발표 된 12월 4일에 dotnet/wpf 및 dotnet/winforms를 각각 오픈 소스로 전환 했습니다. 지난 달의 대부분은 휴일을 초월하여 커뮤니티와 상호 작용하고, 홍보를 병합하고, 문제에 응답하는 데 소비되었습니다. 백그라운드에서 WPF 및 Windows Forms를 Arcade SDK 채택을 포함하여 .NET Core 빌드 시스템에 통합했습니다. Arcade는 .NET Platform을 구축하는 데 필요한 기능을 제공하는 MSBuild SDK입니다. WPF 팀은 앞으로 몇 개월 동안 WPF 소스 코드를 더 많이 게시 할 예정입니다.



Visual Studio support


.NET Core 3의 데스크톱 개발에는 Visual Studio 2019가 필요합니다. 새 프로젝트 대화 상자에 WPF 및 Windows Forms 템플릿을 추가하여 명령 줄을 사용하지 않고도 새 응용 프로그램을보다 쉽게 시작할 수 있습니다.



MSIX Deployment for Desktop apps


MSIX는 새로운 Windows 응용 프로그램 패키지 형식입니다. .NET Core 3 데스크톱 응용 프로그램을 Windows 10에 배포하는 데 사용할 수 있습니다.


Visual Studio 2019 미리보기 2에서 사용할 수있는 Windows 응용 프로그램 패키징 프로젝트를 사용하면 자체 포함 된 .NET 핵심 응용 프로그램과 함께 MSIX 패키지를 만들 수 있습니다.



Install .NET Core 3.0 Previews on Linux with Snap


Snap은 Snap을 지원하는 Linux 배포판에서 .NET Core 미리보기를 설치하고 사용해 보는 것이 좋습니다. 현재 Snap을 사용하면 X64 빌드 만 지원됩니다. 우리는 ARM 빌드도 지원할 것입니다.



Platform Support


.NET Core 3 will be supported on the following operating systems:

  • Windows Client: 7, 8.1, 10 (1607+)
  • Windows Server: 2012 R2 SP1+
  • macOS: 10.12+
  • RHEL: 6+
  • Fedora: 26+
  • Ubuntu: 16.04+
  • Debian: 9+
  • SLES: 12+
  • openSUSE: 42.3+
  • Alpine: 3.8+

Chip support follows:

  • x64 on Windows, macOS, and Linux
  • x86 on Windows
  • ARM32 on Windows and Linux
  • ARM64 on Linux



반응형
댓글