.NET 10

이름의 목적은 무엇입니까?

이름의 목적은 무엇입니까? 버전 6.0에는 다음과 같은 새로운 기능이 있습니다.nameof하지만 저는 그것의 목적을 이해할 수 없습니다. 왜냐하면 그것은 단지 변수 이름을 가지고 컴파일할 때 문자열로 바꾸기 때문입니다. 저는 사용할 때 어떤 목적이 있을 거라고 생각했습니다.하지만 내가 하려고 할 때.nameof(T)그것은 단지 나를 프린트합니다.T사용된 유형 대신. 목적에 대해 생각나는 것이 있습니까?를 들어 이름에 를 던지거나 이름을 할 때?PropertyChanged이벤트. 숙박업소의 이름을 알고 싶은 경우가 많습니다. 다음 예를 들어 보겠습니다. switch (e.PropertyName) { case nameof(SomeProperty): { break; } // opposed to case "So..

programing 2023.06.13

C#에서 URL에 대한 쿼리 문자열을 작성하는 방법은 무엇입니까?

C#에서 URL에 대한 쿼리 문자열을 작성하는 방법은 무엇입니까? 코드에서 웹 리소스를 호출할 때 일반적인 작업은 필요한 모든 매개 변수를 포함하도록 쿼리 문자열을 작성하는 것입니다.로켓 과학은 절대로 없지만, 당신이 처리해야 할 몇 가지 멋진 세부 사항들이 있습니다.&첫 번째 매개 변수가 아닌 경우, 매개 변수 인코딩 등. 코드는 매우 간단하지만 약간 지루합니다. StringBuilder SB = new StringBuilder(); if (NeedsToAddParameter A) { SB.Append("A="); SB.Append(HttpUtility.UrlEncode("TheValueOfA")); } if (NeedsToAddParameter B) { if (SB.Length>0) SB.Append..

programing 2023.06.03

C# 4.0의 '다이나믹' 유형은 무엇에 사용됩니까?

C# 4.0의 '다이나믹' 유형은 무엇에 사용됩니까? C# 4.0은 '다이나믹'이라는 새로운 유형을 도입했습니다.모든 것이 좋은 것 같지만, 프로그래머는 그것을 무엇에 사용할까요? 그것이 하루를 구할 수 있는 상황이 있습니까? 그dynamic키워드가 C# 4.0의 다른 많은 새로운 기능과 함께 추가되어 API가 다른 다른 런타임에 있거나 다른 런타임에서 온 코드와 더 쉽게 대화할 수 있게 되었습니다. 예를 들어 보겠습니다. COM 개가있경, 예들다니옵우어는.Word.Application오브젝트 및 문서를 열려는 방법에는 15개 이상의 매개 변수가 있으며, 대부분은 선택적입니다. 이 메소드를 호출하려면 다음과 같은 것이 필요합니다(간단하게 설명하자면, 이것은 실제 코드가 아닙니다). object missi..

programing 2023.05.29

C#의 문을 사용하여 중첩됨

C#의 문을 사용하여 중첩됨 저는 프로젝트를 진행하고 있습니다.나는 두 파일의 내용을 비교해서 서로 정확하게 일치하는지 확인해야 합니다. 많은 오류를 확인하고 검증하기 전에, 제 첫 번째 초안은 다음과 같습니다. DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory + "\\TestArea\\"); FileInfo[] files = di.GetFiles(filename + ".*"); FileInfo outputFile = files.Where(f => f.Extension == ".out").Single(); FileInfo expectedFile = files.Where(f => f.Extension == ".exp").Single ()..

programing 2023.05.24

그 방법이 Moq에서 호출되지 않았는지 어떻게 확인합니까?

그 방법이 Moq에서 호출되지 않았는지 어떻게 확인합니까? Moq에서 메서드가 호출되지 않았는지 확인하려면 어떻게 해야 합니까? Assert Was Not Called와 같은 것이 있습니까? 업데이트: 버전 3.0부터는 새로운 구문을 사용할 수 있습니다. mock.Verify(foo => foo.Execute("ping"), Times.Never()); 테스트 후 Verify를 실행합니다.Times.Never()선택. _mock.Object.DoSomething() _mock.Verify(service => service.ShouldntBeCalled(), Times.Never()); 업데이트: 버전 3부터 위 질문에 대한 업데이트 또는 아래 Dann의 답변을 확인합니다. 또는, 당신이 예상하지 못한 방..

programing 2023.05.24

C#의 문자열을 암호화하고 해독하시겠습니까?

C#의 문자열을 암호화하고 해독하시겠습니까? 닫혔습니다. 이 질문은 더 많은 것이 필요합니다.집중적인현재 답변을 수락하고 있지 않습니다. 이 질문을 개선하고 싶으십니까?이 게시물을 편집하여 하나의 문제에만 초점을 맞추도록 질문을 업데이트합니다. 2년 전에 문을 닫았습니다. 커뮤니티는 지난 달 이 질문을 다시 시작할지 여부를 검토한 후 이 질문을 닫았습니다. 원래 종료 이유가 해결되지 않았습니다. 이 질문을 개선합니다. C#에서 문자열을 암호화하고 해독하려면 어떻게 해야 합니까?EDIT 2013-Oct: 단점을 해결하기 위해 시간이 지남에 따라 이 답변을 편집했지만, 보다 강력하고 정보에 입각한 솔루션은 jtule의 답변을 참조하십시오. https://stackoverflow.com/a/10366194/1..

programing 2023.05.20

디렉터리가 있는 디렉터리를 삭제할 수 없습니다.삭제(경로, 참)

디렉터리가 있는 디렉터리를 삭제할 수 없습니다.삭제(경로, 참) 사용하고 있습니다.NET 3.5, 다음을 사용하여 디렉터리를 재귀적으로 삭제하려고 시도: Directory.Delete(myPath, true); 파일이 사용 중이거나 권한 문제가 있는 경우에는 삭제해야 하지만 그렇지 않은 경우에는 디렉터리와 모든 내용을 삭제해야 합니다. 하지만 가끔 이런 말을 듣곤 합니다. System.IO.IOException: The directory is not empty. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.DeleteHelper(String fullPath, String userPa..

programing 2023.05.14

INI 파일 읽기/쓰기

INI 파일 읽기/쓰기 에 클래스가 있습니까?표준 .ini 파일을 읽고 쓸 수 있는 NET 프레임워크: [Section] = ... 는 델파는이를 가지고 .TIniFile구성 요소와 C#과 유사한 것이 있는지 알고 싶습니다. 서문 먼저 INI 파일의 한계에 대한 이 MSDN 블로그 게시물을 읽으십시오.당신의 필요에 맞으면 계속 읽으세요. 이는 원본 Windows P/Invoke를 사용하여 작성한 간결한 구현이므로 모든 Windows 버전에서 지원됩니다.NET이 설치되었습니다(예: Windows 98 - Windows 11).이에 따라 퍼블릭 도메인에 공개합니다. 귀하는 귀속 없이 자유롭게 상업적으로 사용할 수 있습니다. 극소수 계층 ▁called다라는 새로운 합니다.IniFile.cs프로젝트: using..

programing 2023.05.14

에서 개체의 전체 복사본을 수행하는 방법은 무엇입니까?NET?

에서 개체의 전체 복사본을 수행하는 방법은 무엇입니까?NET? 이 질문에는 이미 다음과 같은 답이 있습니다. 심층 복제 개체 (58개 답변) 마감됨9년 전에. 진정한 딥 카피를 원합니다.자바에서는 이것이 쉬웠지만, C#에서는 어떻게 합니까?중요 참고 사항 이진 포맷터는 더 이상 사용되지 않으며 에서 더 이상 사용할 수 없습니다.2023년 11월 이후 NET.이진 포맷터 제거 전략 참조 이에 대한 몇 가지 다른 접근 방식을 살펴보았지만 일반적인 유틸리티 방법은 다음과 같습니다. public static T DeepClone(this T obj) { using (var ms = new MemoryStream()) { var formatter = new BinaryFormatter(); formatter.Se..

programing 2023.05.04

여러 비동기 작업을 실행하고 모든 작업이 완료될 때까지 대기

여러 비동기 작업을 실행하고 모든 작업이 완료될 때까지 대기 콘솔 응용 프로그램에서 여러 비동기 작업을 실행하고 모든 작업이 완료될 때까지 기다렸다가 처리해야 합니다. 기사가 많은데 읽을수록 헷갈리는 것 같아요.작업 라이브러리의 기본 원칙을 읽고 이해했지만 어딘가에 링크가 없는 것이 분명합니다. 다른 작업이 완료된 후에 시작되도록 작업을 체인으로 연결할 수 있다는 것은 이해하지만(지금까지 읽은 모든 기사의 시나리오와 거의 동일), 모든 작업을 동시에 실행하고 모든 작업이 완료되면 알고 싶습니다. 이와 같은 시나리오에 대한 가장 간단한 구현은 무엇입니까?두 답변 모두 대기자에 대해 언급하지 않았습니다. var task1 = DoWorkAsync(); var task2 = DoMoreWorkAsync(); ..

programing 2023.05.04