728x90
반응형

C# 44

대소 문자를 구분하지 않는 'Contains (string)'

질문 : 대소 문자를 구분하지 않는 'Contains (string)' 다음 반환을 사실로 만드는 방법이 있습니까? string title = "ASTRINGTOTEST"; title.Contains("string"); 대 / 소문자 구분을 설정할 수있는 과부하가없는 것 같습니다. 현재는 둘 다 대문자로 표시하지만 어리석은 일입니다 (상하 케이스와 함께 제공 되는 i18n 문제를 언급하고 있습니다). 최신 정보 이 질문은 오래된 질문이며 그 이후로 완전히 조사하고 싶다면 정말 방대하고 어려운 주제에 대한 간단한 답변을 요청했습니다. 대부분의 경우 단일 언어, 영어 코드 기반 에서이 답변으로 충분합니다. 이곳에 오는 대부분의 사람들이이 범주에 속하기 때문에 이것이 가장 인기있는 대답입니다. 이 대답은하지만..

콘솔 앱의 'Main'메서드에서 'async' 수정자를 지정하는 방법

질문 : 콘솔 앱의 'Main'메서드에서 'async'수정자를 지정할 수 없습니다. async 수정자를 사용한 비동기 프로그래밍이 처음입니다. Main 메서드가 실제로 비동기 적으로 실행되는지 확인하는 방법을 찾으려고합니다. class Program { static void Main(string[] args) { Bootstrapper bs = new Bootstrapper(); var list = bs.GetList(); } } public class Bootstrapper { public async Task GetList() { GetPrograms pro = new GetPrograms(); return await pro.DownloadTvChannels(); } } 나는 이것이 "상단"에서 비동기..

Excel interop 개체를 올바르게 정리하는 방법

질문 : Excel interop 개체를 올바르게 정리하려면 어떻게해야합니까? ApplicationClass )에서 Excel interop을 사용하고 있으며 finally 절에 다음 코드를 배치했습니다. while (System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet) != 0) { } excelSheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); 이런 종류의 작동하지만 Excel.exe 프로세스는 Excel을 닫은 후에도 여전히 백그라운드에 있습니다. 내 응용 프로그램을 수동으로 닫은 후에 만 릴리스됩니다. 내가 뭘 잘못하고 있거나 interop 개체를 올바르게 처리 할 수있는 대안..

개발관련/other 2021.10.14

Json.net으로 직렬화 할 때 속성 이름을 변경하는 방법

질문 : Json.net으로 직렬화 할 때 속성 이름을 어떻게 변경할 수 있습니까? C # DataSet 개체에 일부 데이터가 있습니다. 이 같은 Json.net 변환기를 사용하여 지금 직렬화 할 수 있습니다. DataSet data = new DataSet(); // do some work here to populate 'data' string output = JsonConvert.SerializeObject(data); 그러나 이것은 .json 파일로 인쇄 할 때 data 의 속성 이름을 사용합니다. 속성 이름을 다른 이름으로 변경하고 싶습니다 (예 : 'foo'를 'bar'로 변경). Json.net 문서의 'JSON 직렬화 및 역 직렬화'→ '직렬화 속성'에서 "JsonPropertyAttribu..

개발관련/other 2021.10.07

JSON.NET 오류 "Error Self referencing loop detected for type System.data.entity occurs"

질문 : JSON.NET 오류 자체 참조 루프가 유형에 대해 감지되었습니다. Entity Data Model .edmx에서 자동으로 생성 된 POCO 클래스를 직렬화하려고했습니다. JsonConvert.SerializeObject 다음과 같은 오류가 발생했습니다. 오류 System.data.entity 유형에 대한 자체 참조 루프가 발견되었습니다. 이 문제를 어떻게 해결합니까? 답변 수정 1: 전체적으로 순환 참조 무시 (나는 다른 많은 사람들과 마찬가지로 이것을 선택 / 시도했습니다) json.net serializer에는 순환 참조를 무시하는 옵션이 있습니다. WebApiConfig.cs 파일에 다음 코드를 넣으십시오. config.Formatters.JsonFormatter.SerializerSet..

개발관련/other 2021.09.28

C#에서 "yield break;"의 역할

질문 : "수익률 중단"이란 무엇입니까? C #에서합니까? MSDN에서이 구문을 보았습니다 : yield break ,하지만 그것이 무엇을하는지 모르겠습니다. 아는 사람 있나요? 답변 반복기가 끝났음을 지정합니다. 당신은 생각할 수 yield break A와 return 값을 반환하지 않는 문. 예를 들어 함수를 반복자로 정의하는 경우 함수 본문은 다음과 같습니다. for (int i = 0; i < 5; i++) { yield return i; } Console.Out.WriteLine("You will see me"); 루프가 모든주기를 완료 한 후 마지막 줄이 실행되고 콘솔 앱에 메시지가 표시됩니다. yield break 와 함께 다음과 같이하십시오. int i = 0; while (true) { ..

개발관련/other 2021.09.14

Json.net을 사용하여 JSON 개체를 동적 개체로 역 직렬화

질문 : Json.net을 사용하여 JSON 개체를 동적 개체로 역 직렬화 json.net을 사용하여 json deserialization에서 동적 객체를 반환 할 수 있습니까? 다음과 같이하고 싶습니다. dynamic jsonResponse = JsonConvert.Deserialize(json); Console.WriteLine(jsonResponse.message); 답변 Json.NET을 사용하면 다음과 같이 할 수 있습니다. dynamic d = JObject.Parse("{number:1000, str:'string', array: [1,2,3,4,5,6]}"); Console.WriteLine(d.number); Console.WriteLine(d.str); Console.WriteLine(..

ReSharper는 프로젝트가 빌드되는 경우에도 "Cannot resolve symbol"

질문 : ReSharper는 프로젝트가 빌드되는 경우에도 "심볼을 확인할 수 없음" 내 도구 : Visual Studio 2012 Ultimate + 업데이트 1 ReSharper v7.1.25.234 내 솔루션 빌드 상태 : 빌드 성공 그러나 ReSharper를 설치하고 ReSharper 코드 분석이 활성화되면 내 코드의 많은 키워드가 다음 오류와 함께 빨간색으로 표시됩니다. "XXX 기호를 확인할 수 없습니다." 내 프로젝트의 또 다른 사진 >> ReSharper "CANNOT SYMBOL"오류는 어디에나 있지만 내 프로젝트 빌드 프로세스는 성공적이며 올바르게 작동합니다. 추가 참고 : ReSharper 코드 분석을 비활성화하면 내 프로젝트는 일반이되지만 ReSharper 코드 분석을 사용하고 싶습니..

json.net을 사용하여 null 인 경우 클래스의 속성을 무시하는 방법

질문 : json.net을 사용하여 null 인 경우 클래스의 속성을 무시하는 방법 클래스를 JSON으로 직렬화하기 위해 Json.NET 을 사용하고 있습니다. 다음과 같은 수업이 있습니다. class Test1 { [JsonProperty("id")] public string ID { get; set; } [JsonProperty("label")] public string Label { get; set; } [JsonProperty("url")] public string URL { get; set; } [JsonProperty("item")] public List Test2List { get; set; } } Test2List 가 null 경우에만 Test2List JsonIgnore() 특성을 추가하..

개발관련/other 2021.08.27

C #에서 선택적 매개 변수를 사용하는 방법

질문 : C #에서 선택적 매개 변수를 어떻게 사용할 수 있습니까? 참고 : 이 질문은 C #이 아직 선택적 매개 변수를 지원하지 않았을 때 (즉, C # 4 이전) 질문되었습니다. 우리는 C # 클래스에서 프로그래밍 방식으로 생성 된 웹 API를 구축하고 있습니다. 클래스에는 GetFooBar(int a, int b) 메서드가 있고 API에는 &a=foo &b=bar 와 같은 쿼리 매개 변수를 사용 GetFooBar 메서드가 있습니다. 클래스는 C # 언어에서 지원되지 않는 선택적 매개 변수를 지원해야합니다. 최선의 접근 방법은 무엇입니까? 답변 놀랍게도 아무도 다음과 같이 작동하는 C # 4.0 선택적 매개 변수를 언급하지 않았습니다. public void SomeMethod(int a, int b ..

개발관련/other 2021.08.13

메서드가 Moq에서 호출되지 않았는지 확인하는 방법

질문 : 메서드가 Moq에서 호출되지 않았는지 확인하는 방법은 무엇입니까? 메소드가 Moq 에서 호출되지 않았는지 어떻게 확인합니까? AssertWasNotCalled와 같은 것이 있습니까? 업데이트 : 버전 3.0부터 새 구문을 사용할 수 있습니다. mock.Verify(foo => foo.Execute("ping"), Times.Never()); 답변 업데이트 : 버전 3부터 위 질문에 대한 업데이트 또는 아래 Dann의 답변을 확인하십시오. 또는 모의를 엄격하게 만들어 기대하지 않는 메서드를 호출하면 실패합니다. new Mock(MockBehavior.Strict) 또는 mock을 느슨하게하려면 .Throws (Exception) var m = new Mock(MockBehavior.Loose); ..

경로의 일부를 찾을 수 없습니다.… bin \ roslyn \ csc.exe

질문 : 경로의 일부를 찾을 수 없습니다.… bin \ roslyn \ csc.exe TFS 소스 제어에서 검색 한 Asp.net MVC 프로젝트를 실행하려고합니다. 모든 어셈블리 참조를 추가했으며 오류나 경고없이 성공적으로 빌드하고 컴파일 할 수 있습니다. 하지만 브라우저에서 다음과 같은 오류가 발생합니다. 'C : \ B8akWorkspace \ B8akProject \ B8akSolution \ B8AK.Portal \ bin \ roslyn \ csc.exe'경로의 일부를 찾을 수 없습니다. 다음은 오류 페이지의 전체 스크린 샷입니다. 며칠간의 연구 끝에 Roslyn 이 고급 컴파일 기능을 제공하는 .Net 컴파일러 플랫폼이라는 것을 이해했습니다. 그러나 Roslyn과 관련된 항목을 구성하지 않았..

ASP.NET MVC의 enum 형에서 드롭 다운 목록을 만드는 방법

질문 : ASP.NET MVC의 열거 형에서 드롭 다운 목록을 만드는 방법은 무엇입니까? Html.DropDownList 확장 메서드를 사용하려고하는데 열거 형과 함께 사용하는 방법을 알아낼 수 없습니다. 다음과 같은 열거가 있다고 가정 해 보겠습니다. public enum ItemTypes { Movie = 1, Game = 2, Book = 3 } Html.DropDownList 확장 메서드를 사용하여 이러한 값으로 드롭 다운을 만드는 방법은 무엇입니까? 아니면 단순히 for 루프를 만들고 Html 요소를 수동으로 만드는 것이 최선의 방법입니까? 답변 @Html.EnumDropDownListFor( x => x.YourEnumField, "Select My Type", new { @class = "f..

개발관련/other 2021.07.19

C #으로 JSON을 구문 분석을 수행하는 방법

질문 : C #으로 JSON을 어떻게 구문 분석 할 수 있습니까? 다음 코드가 있습니다. var user = (Dictionary)serializer.DeserializeObject(responsecontent); responsecontent 의 입력은 JSON이지만 객체로 제대로 구문 분석되지 않았습니다. 올바르게 역 직렬화하려면 어떻게해야합니까? 답변 Json.NET (Newtonsoft.Json NuGet 패키지)을 사용하지 않는다고 가정합니다. 이 경우 시도해야합니다. 다음과 같은 기능이 있습니다. 아래 예를 보십시오. 이 예제에서는 JsonConvert 클래스를 사용하여 객체를 JSON으로 또는 JSON으로 변환합니다. 이를 위해 두 가지 정적 메서드가 있습니다. SerializeObject(O..

C #에서 돈의 단위로 사용하기에 가장 좋은 데이터 유형

질문 : C #에서 돈으로 사용하기에 가장 좋은 데이터 유형은 무엇입니까? C #에서 돈으로 사용하기에 가장 좋은 데이터 유형은 무엇입니까? 답변 10진수 로 다음과 같이 설명됩니다. decimal 키워드는 128 비트 데이터 유형을 나타냅니다. 부동 소수점 유형에 비해 decimal 유형은 정밀도가 더 높고 범위가 더 작으므로 재무 및 금전적 계산에 적합합니다. 다음과 같이 소수점을 사용할 수 있습니다. decimal myMoney = 300.5m; 출처 : https://stackoverflow.com/questions/693372/what-is-the-best-data-type-to-use-for-money-in-c

NullReferenceException의 해결방법

질문 : NullReferenceException이란 무엇이며 어떻게 해결합니까? 몇 가지 코드가 있으며 실행되면 NullReferenceException . 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. 이것은 무엇을 의미하며이 오류를 수정하려면 어떻게해야합니까? 답변 null (또는 VB.NET에서는 Nothing 것을 사용하려고합니다. 이것은 당신이 그것을 null 설정했거나 아무것도 설정하지 않았 음을 의미합니다. 다른 것과 마찬가지로 null 이 전달됩니다. 메서드 "A" 에서 null 메서드 "B"가 메서드 "A"에 null null 은 다른 의미를 가질 수 있습니다. 이 기사의 나머지 부분에서는 더 자세히 설명하고 많은 프로그래머가 종종 저지르는 실수로 인해 NullReferenceEx..

dash를 제외한 문자열에서 영숫자가 아닌 모든 문자를 제거하는 방법

질문 : 대시를 제외한 문자열에서 영숫자가 아닌 모든 문자를 제거하려면 어떻게합니까? 대시 및 공백 문자를 제외하고 문자열에서 영숫자가 아닌 모든 문자를 제거하려면 어떻게합니까? 답변 [^a-zA-Z0-9 -] 를 빈 문자열로 바꿉니다. Regex rgx = new Regex("[^a-zA-Z0-9 -]"); str = rgx.Replace(str, ""); 출처 : https://stackoverflow.com/questions/3210393/how-do-i-remove-all-non-alphanumeric-characters-from-a-string-except-dash

Assert를 사용하여 예외가 발생했는지 확인하는 방법

질문 : Assert를 사용하여 예외가 발생했는지 확인하려면 어떻게합니까? Assert (또는 다른 테스트 클래스)를 사용하여 예외가 발생했는지 확인하는 방법은 무엇입니까? 답변 "Visual Studio Team Test"의 경우 ExpectedException 특성을 테스트의 메서드에 적용한 것으로 보입니다. 여기 설명서의 샘플 : Visual Studio Team Test를 사용한 단위 테스트 연습 [TestMethod] [ExpectedException(typeof(ArgumentException), "A userId of null was inappropriately allowed.")] public void NullUserIdInConstructor() { LogonInfo logonInfo =..

개발관련/other 2021.06.16

파일의 전체 경로에서 디렉토리를 가져 오는 방법

질문 : 파일의 전체 경로에서 디렉토리를 가져 오려면 어떻게합니까? 파일이있는 디렉토리를 얻는 가장 간단한 방법은 무엇입니까? 나는 이것을 사용하여 작업 디렉토리를 설정하고 있습니다. string filename = @"C:\MyDirectory\MyFile.bat"; 이 예에서는 "C : \ MyDirectory"를 가져와야합니다. 답변 절대 경로가있는 경우 Path.GetDirectoryName(path) . 상대 이름 만 얻을 수있는 경우 new FileInfo(path).Directory.FullName . Path 와 FileInfo System.IO 네임 스페이스에 있습니다. 출처 : https://stackoverflow.com/questions/674479/how-do-i-get-the-d..

개발관련/other 2021.06.13
728x90
반응형