본문 바로가기
반응형

c#29

[C#] 두 날짜 차이 계산 방법 두 날짜 차이 계산 방법 두 날짜(DateTime) 의 차이를 계사하는 여러가지 방법을 알아보자. DateTime date1 = new DateTime(2022, 1, 1, 20, 00, 00); DateTime date2 = new DateTime(2022, 02, 01, 23, 00, 00); ' - ' 연산자를 통한 두 날짜 차이 계산 간단하게 '-' 연산자를 통하여 두 날짜 차이를 알 수 있다. Console.WriteLine((date2 - date1)); Console.WriteLine((date2 - date1).Days); 출력 31.03:00:00 31 가장 간단하게 할 수 있는 방법이다. 동일한 DateTime 형식으로 진행하면 된다. DateTime.Subtract 두 날짜 차이 계산.. 2022. 6. 23.
[C#] The format of value 'application/json;charset=UTF-8' is invalid 최근 HttpClinet 로 수정중 해당 오류가 발생하게 되어 겪은 내용을 공유하고자 한다. 해당 문제는 생각보다? 쉬운 문제였다. HttpClient의 'Contet-Type' 설정에서 'charset=UTF-8' 을 지원하지 않는다는 것이다. Before > application/json;charset=UTF-8 After > application/json 개인적인 생각으로 Bug 일 것같은 생각이 들지만 현재 상황에서는 위에 처럼 수정해서 사용해야 할 것 같다. 대략적으로 HttpClient 짠 코드를 같이 첨부해두겠다. HttpRequestMessage 를 가지고 진행했으며 성공한 코드를 올려두었기때문에 만약, 참고해서 안된다면 댓글로 남겨주시면 도움을 드리겠습니다. HttpClient httpC.. 2022. 5. 31.
[C#] SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint, WebClient는 더 이상 사용되지 않습니다. .Net 6 버전업을 하며 경고를 해결하던중 SYSLIB0014 해당 경고에 대해서 작성하게 되었다. 내가 진행하는 프로젝트에서 WebRequest(), HttpWebRequest() 를 사용하는데 해당 부분이 .Net 6 버전에서는 더이상 지원을 하지 않는다고 한다. 그래서 MS Docs 에 해결방법을 찾아 갔다. 그렇다. HttpClinet 를 사용하라고 한다. 아니면 경고 코드를 무시하면 되긴한데 RestSharp 도 최근 버전에서는 HttpClient 기반으로 비동기 형식으로 바뀌고 있기때문에 HttpClinet 로 수정하기로 했다. HttpClinet 에 대해서 아직 적용중이여서 추후 정리 자료를 올릴 예정이다. MS Docs의 HttpClinet 링크를 공유해놓겠다. [관련자료] SYSLIB0.. 2022. 5. 31.
[C#] 현재 실행 Method 이름 가져오기 가끔 현재 실행 Method 를 가져와야할 경우가 생긴다. 필자는 로그를 쌓는다거나 메소드 명을 확인해보는 여러가지 경우에 유용하게 사용한다. 직접적으로 넣으면 되겠지만 여러곳에서 빈번하게 작업해야하는 경우 사용하면 좋다. 더보기 [Environment] OS : Windows 10 Framework : .Net 5 Tool : Visual Studio 2022 Project : Console Project using System.Reflection; 해당 using 을 참조해야한다. MethodBase.GetCurrentMethod().Name; 위의 코드를 통해 현재 실행중인 Method 이름을 가져올 수 있다. 위에서 언급했지만 로그 또는 메소드 명을 확인해야하는 경우에 사용하면 유용하게 사용될 것.. 2022. 5. 24.
[Xamarin] DataBinding 해당글에서는 DataBinding 하는 방법을 알 수 있다. 예시를 통해 DataBinding 을 자세하게 알 수 있다. Event : Slider 변경 Target1 : Label Padding 값 변경 Target2 : Label FontSize 값 변경 1-1. CS 파일에서 핸들링 xaml 파일 cs 파일 public DataBind() { InitializeComponent(); InitProperty(); } private void xSlider_ValueChanged(object sender, ValueChangedEventArgs e) { xLabel01.Padding = (int)xSlider01.Value; xLabel02.FontSize = (int)xSlider01.Value; } .. 2022. 3. 8.
[Xamarin] Popup & Prompt Popup DisplayAlert 가장 흔하게 쓰이는 팝업창이며 경고 or 사용자의 선택을 유도할 때 사용하기 유용하며 사용자에게 확인용으로 쓰이기 좋다. DisplayAlert(string title, string message, string cancel) 단일 취소 단추를 사용하여 사용자에게 경고 대화 상자를 표시한다. 매개 변수 설명 title 제목 message 본문 텍스트 cancel '취소' 단추에 표시할 테스트 this.DisplayAlert("Title", "Message", "Close"); DisplayAlert(string title, string message, string accept, string cancel) 수락 및 취소 단추를 사용하여 사용자에게 경고 대화상자를 표시한다. .. 2022. 3. 8.
[C#] IEnumerable / ICollection / IList 차이점 IEnumerable, ICollection, IList 에 대해 알아보겠다. IEnumerable, ICollection, IList 3가지 모두 System.Collections 네임스페이스이다. using System.Collecionts [Envrionment] OS : Windows 10 Tool : Visual Studio 2022 Framework : .Net 6 IEnumerable, ICollection, IList 는 반복할 수 있도록 하는 인터페이스이다. 하지만 3가지 모두 컬렉션을 실행한다는 점에서는 동일하지만 각자 사용할 수 있는 범위가 다르다. 1. IEnumerable IEnumerable 는 모든 열거자의 기본 인터페이스이다. 열거자를 사용하여 컬렉션의 데이터를 읽을 수는 있.. 2022. 3. 7.
[C#] 'Obsolete' Attribute - 더 이상 사용하지 않는 것에 효율적으로 알리는 방법 프로그래밍을 할 때 설계되로 흘러가지 않는다. 왜냐하면 확장성, 재사용성, 더 나은 구조 같은 경우에 따라 설계는 변한다. Base 코드를 작성한 사람의 함수가 추후 사용하지 않는다면 다른 개발자에게 해당 사항을 전달하고 또 이와 관련된 개발자에게 전달한다면 너무 불편해진다. 이러한 상황을 해결하기위해 'Obsolete' 라는 Attribute 가 있다. 'Obsolete' 를 사용하는 상황은 더 이상 사용하지 않거나 or 사용하지 않을 예정인 함수, 변수 앞 에 '[Obsolete]' Attribute 를 붙여주면 된다. class Test { [Obsolete] public void Method() { } } 'Obsolete' 를 사용하면 해당 함수를 호출할 때 초록색 밑줄과 함께 더이상 사용하지 .. 2022. 2. 28.
반응형