«c#-8.0» 태그된 질문

버전 8.0의 C # 언어 개발과 관련된 문제 이 버전은 nullable 참조 유형, 기본 인터페이스 메서드, 비동기 열거 가능 및 기타 기능 및 개선 사항을 추가합니다.



6
전체 프로젝트에 대해 C # 8.0의 Nullable 참조 형식 기능을 활성화하는 방법
C # 8 발표 비디오 에 따르면 전체 프로젝트에 대해 "nullable reference types"기능을 활성화 할 수 있습니다. 하지만 프로젝트에서 어떻게 활성화할까요? Visual Studio 2019 Preview 1의 프로젝트 속성 창에서 새로운 적절한 옵션을 찾지 못했습니다. .csprojC # 언어 버전이 8.0으로 변경된 경우 '레거시' 프로젝트에 대해 활성화 할 수 있습니까 ?

3
"{}"은 무슨 뜻입니까?
때로는 다음 코드가 표시되며 표현식이 실제로 테스트하는 것을 모릅니다. public static void Something(string[] value) { if (value is { }) { DoSomethingElse(); } }
36 c#  c#-8.0 

2
빈 IAsyncEnumerable 생성
다음과 같이 작성된 인터페이스가 있습니다. public interface IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync(); } 다음과 같이 항목을 반환하지 않는 빈 구현을 작성하고 싶습니다. public class EmptyItemRetriever : IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync() { // What do I put here if nothing is to be done? } } 그것이 일반적인 IEnumerable이라면 return …

1
부모 범위의 변수와 이름이 같은 자식 변수를 선언 할 수있는 이유는 무엇입니까?
나는 최근에 이미 같은 이름의 변수가있는 함수 내에 선언 된 작업의 매개 변수로 변수 이름을 실수로 재사용하는 일부 코드를 작성했습니다. 예를 들면 다음과 같습니다. var x = 1; Action<int> myAction = (x) => { Console.WriteLine(x); }; 중복을 발견했을 때 코드가 컴파일되고 완벽하게 실행되었다는 사실에 놀랐습니다. 이것은 C #의 범위에 대해 …



1
IAsyncEnumerable을 목록으로 변환
C # 8에서 IAsyncEnumerable인터페이스를 추가했습니다 . 우리가 법선을 가지고 있다면, 우리는 그것을 원하는 다른 컬렉션을 IEnumerable만들 수 있습니다 List. Linq에게 감사합니다. var range = Enumerable.Range(0, 100); var list = range.ToList(); 이제는 내 IAsyncEnumerable를 a 로 변환하고 싶습니다 List. 물론 비동기식입니다. 해당 사례에 대해 이미 Linq 구현이 있습니까? 없는 경우 어떻게 …

1
C # 8의 Unknown Nullability는 무엇입니까?
C # 8.0에서는 널 입력 가능 참조 유형을 가질 수 있습니다. 문서 에는 네 가지 유형의 null 허용이 있다고 명시되어 있습니다. 처음 3 개는 명확하지만 "알 수 없음"의 요점을 이해하지 못합니다. 문서는 그것이 제네릭과 함께 사용된다고 말하지만 제네릭에서 제한되지 않은 T 유형의 변수에 대한 메서드를 호출하려고하면 유형이 nullable 인 것처럼 …

4
System.Text.Json을 사용하여 목록을 비 직렬화
많은 객체 목록을 포함하는 큰 json 파일을 요청한다고 가정 해 봅시다. 나는 그들이 한 번에 메모리에 들어가기를 원하지 않지만 오히려 하나씩 읽고 처리하려고합니다. 따라서 비동기 System.IO.Stream스트림을로 변환해야합니다 IAsyncEnumerable<T>. 이를 위해 새로운 System.Text.JsonAPI를 어떻게 사용 합니까? private async IAsyncEnumerable<T> GetList<T>(Uri url, CancellationToken cancellationToken = default) { using (var httpResponse = await …

5
C # 8의 널 입력 불가능 참조 유형이 런타임에서 널이 될 수 있습니까?
nullable이 아닌 변수에 null이 없다는 보장은 실제로 없습니다. nullable이 아닌 하나의 속성이있는 클래스가 있다고 상상해보십시오. public class Foo { public Foo(string test) { Test = test; } public string Test {get;set;} } 이제는 null이 될 수없는 것처럼 보일 수 있습니다. 그러나이 클래스를 nullable 컨텍스트를 사용하지 않는 다른 라이브러리로 참조하면 아무것도 …

3
IAsyncEnumerable을 반환하는 메서드에 대한 명확한 명명 규칙이 있습니까?
C # 5 가 비동기 프로그래밍을위한 모델 async과 await모델을 도입 한 후 C # 커뮤니티는 명명 규칙에 도달하여 다음과 같이 대기 가능한 유형을 리턴하는 메소드에 "Async"접미 부를 추가합니다. interface Foo { Task BarAsync(); } 많은 정적 코드 분석기 (Roslyn 기반 및 비 Roslyn 기반)는 비동기 프로그래밍에서 코드 냄새를 감지 할 …
10 c#  c#-8.0 

1
FirstOrDefault에서 노출되지 않는 널 입력 가능 참조 유형 정보
C # 8.0 의 새로운 nullable 참조 형식 기능 을 테스트하고 싶었습니다 . .NET Core 3.0을 대상으로 새 프로젝트를 시작하고 .csproj파일 에서 nullable 참조 유형을 활성화 하고 코딩을 시작했습니다. a를 가져 와서 해당 배열에서를 string[]반환 하는 간단한 목록을 만들었습니다 . 실제로 배열에 실제로 존재하는지 확실하지 않기 때문에 일치를 찾을 수 …

1
구체적인 구현 대신 기본 메소드를 호출하는 방법
C # 8에서 기본 인터페이스 방법의 동작이 변경된 이유는 무엇입니까? 과거에 다음 코드 (기본 인터페이스 메소드가 데모가 릴리스되지 않은 경우) : interface IDefaultInterfaceMethod { // By default, this method will be virtual, and the virtual keyword can be here used! virtual void DefaultMethod() { Console.WriteLine("I am a default method in …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.