본문 바로가기

c#115

C# 비동기 프로그래밍 시작하기 C# 비동기 프로그래밍C#에서는 async 키워드와 await 키워드를 사용하여 비동기 프로그래밍을 구현await 작업이 이루어지는 경우 await 이후의 작업은 스레드 풀의 유휴 스레드를 할당받아 수행하게 된다.async 키워드해당 메서드 내에서 await 키워드를 사용할 수 있게 만들어 준다.즉, await를 가지고 있을 수 있음을 알려주는 역할반드시 void / Task / Task 중 하나를 반환해야 한다.Task : 백그라운드 속성의 쓰레드, 스레드 풀 사용void 사용시 비동기 메서드를 호출하는 쪽에서 비동기를 제어할 수 없다.await 키워드비동기 작업의 흐름을 제어하는 키워드단항 연산자로 쓰이며 awaitable 형식(Task 또는 Task를 반환하는 함수 또는 메서드)의 인수를 가짐피연산.. 2024. 10. 8.
C# HttpClient.PostAsync 사용하기 HttpClient란 무엇인가?HttpClient은 HTTP 요청을 처리하기 위해서 설계된 .NET 라이브러리 내에 존재하는 클래스이다.HttpClient의 장점비동기 실행(Asynchronous Operations) : 응답을 기다리는 동안 다른 처리가 가능하다.재사용성(Reusable) : 하나의 인스턴스로 여러 요청에 사용이 가능하다.유연성(Flexibility) : HTTP 메소드와 커스텀 가능한 헤더를 지원한다.HttpClient.PosyAsync는 특정한 URL에 대해서 POST 방식으로 비동기로 데이터 송신을 가능하게 한다.기본 예제HttpClient client = new HttpClient();HttpContent content = new StringContent(jsonData, Enc.. 2024. 10. 7.
C# HTTP 프로토콜과 Web 사용 WebClient 사용하여 HTTP 사용하기C#에서 HTTP를 사용하기 위해서는 여러 방법이 있다. 간단하게는 System.Net.WebClient 클래스를 사용할 수 있으며, 좀 더 세밀한 제어를 위해서는 System.Net.HttpWebRequest 클래스를 사용할 수 있다. 아래는 WebClient 클래스를 사용하여 웹사이트의 HTML을 가져오는 예제이다. using System.Net;string url = "http://www.google.com";WebClient webClient = new WebClient();string html = webClient.DownloadString(url);HttpWebRequest를 사용하여 HTTP 사용하기C#에서 좀 더 세밀하게 HTTP를 제어할 필요가 .. 2024. 10. 2.
Effective C# Item 42 : IEnumerable<T> 데이터 소스와 IQueryable<T> 데이터 소스를 구분하라 IEnumerable 데이터 소스와 IQueryable 데이터 소스를 구분하라IQueryable와 IEnumerable는 거의 동일한 API 정의를 가진다. 따라서 이 두 인터페이스는 상호 교환 가능하다고 생각할 것이며 실제로도 대부분 그렇다. 이는 사실 의도한 설계이기도 하다. 하지만 시퀀스는 그냥 시퀀스일 뿐이어서 항상 이 둘을 서로 대체하여 사용할 수 있는 것은 아니다. 사실 이 둘은 동작 방식도 매우 다르고 성능 차이도 크게 난다. 다음의 예를 살펴보자. // 첫번째 예var q = from c in dbContext.Customers where c.City == "London" select c;var finalAnswer = from c in q orderby c.Name select c;// .. 2024. 9. 25.
C# Trim() 메서드에 대해서 String.Trim()문자열 앞뒤에 공백을 제거한 문자열을 반환한다.(Trims the whitespace from both ends of the string.  Whitespace is defined by char.IsWhiteSpace.) String.Trim(char)문자열 앞뒤에 지정된 문자(char)를 제거한 문자열을 반환한다.(Removes a set of characters from the beginning and end of this string.) String.TrimStart(), String.TrimeStart(char)문자열 맨 앞에 공백을 제거한 문자열을 반환한다.문자열 맨 앞에 지정된 문자(char)을 제거한 문자열을 반환한다. String.TrimEnd(), String.Tr.. 2024. 9. 10.
C# [백준 BAEKJOON] 10870번 피보나치 수 5 문제피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다.n=17일때 까지 피보나치 수를 써보면 다음과 같다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다.출력첫째 줄에 n번째 피보나치 수를 출력한다. 풀이 코드using System;public partial class Program{ static vo.. 2024. 7. 8.