반응형

.NET 9

작업을 직접 반환할 수 있는데 비동기를 사용하고 반환을 기다리는 이유는 무엇입니까?

작업을 직접 반환할 수 있는데 비동기를 사용하고 반환을 기다리는 이유는 무엇입니까? 다음과 같은 작성 방법이 있는 시나리오가 있습니까? public async Task DoSomethingAsync() { // Some synchronous code might or might not be here... // return await DoAnotherThingAsync(); } 이 대신에: public Task DoSomethingAsync() { // Some synchronous code might or might not be here... // return DoAnotherThingAsync(); } 말이 됩니까? 을 사용하는 return await 반환할 수 때 합니다.TaskDoAnotherThin..

programing 2023.05.29

XML에서 C# 클래스 생성

XML에서 C# 클래스 생성 XML 파일에서 C# 클래스를 생성할 수 있습니까?VS 2012 이상 버전에서 .NET 4.5 프로젝트를 수행하는 경우 XML 파일을 클래스로 특수 붙여넣기만 하면 됩니다. XML 파일의 내용을 클립보드에 복사 편집기에서 클래스를 붙여넣을 위치를 선택합니다. 메뉴에서 다음을 선택합니다.EDIT > Paste Special > Paste XML As Classes 예, xsd를 사용합니다.exe D:\temp>xsd test.xml Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version 4.0.30319.1] Copyright (C) Microsoft Corporation..

programing 2023.05.29

.NET에서 struct와 class의 차이점은 무엇입니까?

.NET에서 struct와 class의 차이점은 무엇입니까? .NET에서 struct와 class의 차이점은 무엇입니까?.NET에는 참조 유형과 값 유형의 두 가지 범주가 있습니다. 구조체는 값 유형이고 클래스는 참조 유형입니다. 일반적인 차이점은 참조 유형이 힙에 상주하고 값 유형이 인라인에 상주한다는 것입니다. 즉, 변수 또는 필드가 정의된 위치에 상관없이 값 유형이 정의됩니다. 값 유형을 포함하는 변수에는 전체 값 유형 값이 포함됩니다.구조체의 경우 모든 필드와 함께 전체 구조체가 변수에 포함된다는 것을 의미합니다. 참조 유형을 포함하는 변수에는 포인터 또는 실제 값이 있는 메모리의 다른 위치에 대한 참조가 포함됩니다. 이는 다음과 같은 이점을 제공합니다. 값 유형에는 항상 값이 포함됩니다. 참조 ..

programing 2023.05.29

C# %AppData% 경로 가져오기

C# %AppData% 경로 가져오기 C# 2008 SP1 아래 코드를 사용하고 있습니다. dt.ReadXml("%AppData%\\DateLinks.xml"); 그러나 응용 프로그램이 실행되는 위치를 알려주는 예외가 발생했습니다. 경로 'D:'의 일부를 찾을 수 없습니다.\프로젝트\하위 버전 프로젝트\CatDialer\bin\Debug\%AppData%\DateLinks.xml'입니다. 나는 생각했습니다.%AppData%상대 경로를 찾아야 합니다.내가 갈때Start|Run|%AppData%윈도우 탐색기는 나를 그 디렉토리로 데려갑니다. 클라이언트 컴퓨터마다 사용자가 다르기 때문에 전체 경로를 넣을 수 없습니다.AppData 디렉토리를 가져오려면 다음을 사용하는 것이 가장 좋습니다.GetFolderPat..

programing 2023.05.24

성능 테스트를 위한 정확한 시간 측정

성능 테스트를 위한 정확한 시간 측정 이 질문에는 이미 다음과 같은 답이 있습니다. .NET에서 코드 성능을 측정하는 방법은 무엇입니까? (18개 답변) 마감됨10년 전에. 메소드 호출과 같은 무언가가 코드를 수신한 시간을 가장 정확하게 확인하는 방법은 무엇입니까? 가장 쉽고 빠르게 추측할 수 있는 것은 다음과 같습니다. DateTime start = DateTime.Now; { // Do some work } TimeSpan timeItTook = DateTime.Now - start; 하지만 이게 얼마나 정확할까요?더 좋은 방법이 있습니까?더 나은 방법은 Stopwatch 클래스를 사용하는 것입니다. using System.Diagnostics; // ... Stopwatch sw = new Stop..

programing 2023.05.24

여러 작업에 비동기/대기 사용

여러 작업에 비동기/대기 사용 저는 완전히 비동기식인 API 클라이언트를 사용하고 있습니다. 즉, 각 작업이 반환됩니다.Task또는Task예: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } C# 5 비동기/대기 연산자를 사용하여 여러 작업을 시작하고 모든 작업이 완료될 때까지 기다리는 정확하고 가장 효율적인 방법은 무엇입니까? int[] ids = new[] { 1, 2, 3, 4, 5 }; Parallel.ForEach(..

programing 2023.05.14

왜 그럴까요?수집이 null인 경우 각 루프 스로우 NullRefException에 대한 NET?

왜 그럴까요?수집이 null인 경우 각 루프 스로우 NullRefException에 대한 NET? 그래서 이런 상황에 자주 부딪히곤 합니다.어디에Do.Something(...)다음과 같은 null 컬렉션을 반환합니다. int[] returnArray = Do.Something(...); 그런 다음 이 컬렉션을 다음과 같이 사용하려고 합니다. foreach (int i in returnArray) { // do some more stuff } 그냥 궁금해서 그러는데, 왜 각 루프는 null 컬렉션에서 작동할 수 없나요?0번의 반복이 null 컬렉션으로 실행되는 것이 논리적으로 보입니다.대신 그것은 a를 던집니다.NullReferenceException왜 이럴 수 있는지 아는 사람? 정확히 무엇이 반환되는지..

programing 2023.05.09

작업 완료 시기소스를 사용하시겠습니까?

작업 완료 시기소스를 사용하시겠습니까? AFAIK, 그것이 아는 것은 어느 순간, 그것이SetResult또는SetException하여 메드를완료니다합Task그것을 통해 드러난.Task소유물. 다시 말해서, 그것은 생산자 역할을 합니다.Task그리고 그것의 완성. 여기서 예를 보았습니다. ▁▁way▁▁a▁i▁if한요▁need를 실행하는 방법이 필요한 경우.Func으로 '으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으으Task그 작업을 나타내는 것입니다. public static Task RunAsync(Func function) { if (function == null) throw new ArgumentNullException(“function”); var tcs = new TaskC..

programing 2023.05.09

LINQ를 사용하여 컬렉션의 모든 개체 업데이트

LINQ를 사용하여 컬렉션의 모든 개체 업데이트 LINQ를 사용하여 다음을 수행할 수 있는 방법이 있습니까? foreach (var c in collection) { c.PropertyToSet = value; } 명확하게 하기 위해 컬렉션의 각 개체를 반복한 다음 각 개체의 속성을 업데이트합니다. 저의 활용 사례는 블로그 게시물에 많은 댓글이 있는데, 블로그 게시물의 각 댓글을 반복하여 블로그 게시물의 날짜를 +10시간으로 설정하고 싶습니다.SQL에서 할 수 있지만 비즈니스 계층에서 유지하고 싶습니다. 동있안는을 할 수 동안.ForEach 방법,, 은 할 수 있습니다, , 수약워크만사용싶다확고면하임. collection.Select(c => {c.PropertyToSet = value; return c..

programing 2023.05.04
반응형