분류 전체보기
![[C#] LINQ(Language INtegrated Query) - 1. 기본 표현식](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjXLpd%2FbtrF8QiaAyr%2FQvaKSHQNVk5m1uy3R5htB0%2Fimg.png)
[C#] LINQ(Language INtegrated Query) - 1. 기본 표현식
LINQ(Language INtegrated Query)는 일련의 배열을 정렬하거나 필터링하는 확장 언어입니다. 1. LINQ 표현식 LINQ는 다음과 같은 부분으로 구성됩니다. Extension methods : Where나 OrderBy, Select와 같은 메서드를 포함하는데 LINQ에 대한 기능적인 부분을 제공합니다. LINQ providers : 메모리에서 객체를 다루기 위한 LINQ to Objects, 외부 데이터베이스에 데이터를 저장을 처리하기 위한 LINQ to Entities, XML을 다루기 위한 LINQ to XML 등을 의미하며 이들 공급자(providers)는 LINQ 표현식을 각 데이터에 맞는 특정한 방법으로 질의할 수 있도록 합니다. Lambda expressions : 메서..
![[.NET] 닷넷 Type 사용하기 - 8. image 다루기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceWCeb%2FbtrEmQxdz1h%2FsUKEokVpU1KFy8tNOOFPFk%2Fimg.png)
[.NET] 닷넷 Type 사용하기 - 8. image 다루기
9. image 다루기 .NET Framework에서 Image를 다루기 위한 것으로 System.Drawing.Image를 사용할 수 있었습니다. 그러나 .NET Core 1.0이 개발되기 시작한 후부터는 더 이상 System.Drawing.Image를 사용할 수 없게 되었고 마이크로소프트는 System.Drawing은 더이상 지원되지 않을 것이며 비 크로스 플랫폼에 해당하므로 사용하지 말 것을 권고하고 있습니다. 대신 이를 대체할 수 있는 다른 대안으로 ImageSharp이나 SkiaSharp을 사용할 수 있습니다. 여기서는 이 중에서 ImageSharp을 사용해 Image를 다루는 방법에 간단히 알아보고자 합니다. ImageSharp은 2D graphics을 위한 third-party cross-p..
[.NET] 닷넷 Type 사용하기 - 7. reflection 과 attributes
8. reflection 과 attributes .NET의 컴파일(빌드) 결과는 대게 DLL이나 EXE 형태의 파일이 될 수 있는데 이를 통틀어 Assembly라고도 합니다. 그리고 .NET의 Assembly는 크게 아래 4가지 부분으로 구성됩니다. Assembly metadata와 manifest Assembly의 File버전이나 참조된 Assembly등등을 나타냅니다. Type metadata Member와 같은 Type의 정보를 나타냅니다. IL code Methods나 속성, 생성자등을 구현합니다. Embedded resources Images와 같은 별개의 리소스자원을 나타냅니다. Metadata는 Code에서 구현된 Member나 Type 등의 정보를 토대로 자동으로 생성되거나 attribut..
[.NET] 닷넷 Type 사용하기 - 6. 네트워크 리소스 활용
7. 네트워크 리소스 활용 .NET은 Network와 관련된 여러 형식을 아래와 같이 지원하고 있습니다. Namespace Type 설명 System.Net Dns, Uri, Cookie, WebClient, IPAddress Dns, IP주소, URI등을 표현합니다. System.Net FtpStatusCode, FtpWebRequest, FtpWebResponse FTP와 관련된 표현에 사용됩니다. System.Net HttpStatusCode, HttpWebRequest, HttpWebResponse HTTP와 관련된 표현에 사용되며 이와 관련해 System. Net.Http의 Type또한 마련되어 있습니다. System.Net.Http HttpClient, HttpMethod, HttpReques..
[.NET] 닷넷 Type 사용하기 - 5. index와 range 그리고 Span
6. index와 range 그리고 Span .NET Core 2.1부터 .NET에 대한 마이크로소프트 주요 목표 중 하나는 성능과 리소스 활용의 향상이며 Span는 그 목표의 일환 중 하나입니다. Array 구현할 때 기존에 존재하는 Array객체에서 일부분만을 필요로 하는 경우 기존 객체를 그대로 복사해 새로운 Array를 생성하고 필요한 처리를 수행하는 경우가 있습니다. 그러나 이러한 방법은 메모리에 같은 객체를 반복해 생성하게 된다는 측면에서 그다지 효휼적인 방법이라고는 할 수 없습니다. 위와 같이 전체가 아닌 일부분의 요소만을 필요로 한다면 span을 사용함으로써 성능과 효율성을 기대할 수 있습니다. 다만 Span은 Collection이 아닌 Array를 대상으로만 사용할 수 있습니다. Span..
[.NET] 닷넷 Type 사용하기 - 4. Collection 사용
5. Collection 사용 Collection은 일반적으로 다수의 값을 저장하기 위한 용도로 사용되며 .NET에서는 Collection과 관련한 여러 Type을 정의하고 있습니다. Namespace Type 설명 System.Collections IEnumerable IEnumerable Collection에 의해 사용되는 인터페이스와 기반 System.Collections.Generic List Dictionary Queue Stack generic type 매개변수를 통해 Collection에서 다룰 형식을 지정 System.Collections.Concurrent BlockingCollection ConcurrentDictionary ConcurrentQueue 멀티스레드에서 사용 System...
[.NET] 닷넷 Type 사용하기 - 3. 정규식(regular expressions)
4. 정규식(regular expressions) 사용 정규식은 특정값의 형식, 예를 들어 사용자가 입력한 값이 원하는 형식과 일치하는지를 확인할 수 있는 강력한 수단이며 대부분이 프로그래밍 언어에서 정규식을 기본적으로 지원하고 있습니다. using System; using System.Text.RegularExpressions; namespace myapp { class Program { static void Main(string[] args) { Console.Write("귀하의 나이를 입력하십시오. : "); string? input = Console.ReadLine(); Regex regx = new(@"\d"); if (regx.IsMatch(input ?? string.Empty)) Conso..
[.NET] 닷넷 Type 사용하기 - 2. 날짜와 시간
3. 날짜와 시간 다루기 C#에서 날짜와 시간을 다루는데 중요한 Type으로 다음 2가지가 존재합니다. DateTime 특정 날짜와 시간을 표현합니다. TimeSpan 특정 기간을 표현합니다. 위 2개의 Type은 같이 사용되는 경우가 많은데 예를 들어 다른 것으로부터 DateTime값을 빼는 경우 그 결과로 TimeSpan을 가져오거나 TimeSpan값을 DateTime에 더하는 경우 그 결과로 DateTime값을 가져오는 경우 등이 있습니다. ● 날짜와 시간의 지정 날짜와 시간 값을 생성하는 가장 일반적인 방법은 일과 시간처럼 각각 개별적인 값으로 생성하는 것입니다. 날짜나 시간을 단순 문자열로 표현하면 그것 만으로 파싱이 가능하기는 하지만 문화권에 따라 자칫 잘못 해석될 수 있으므로 문자열로의 표현..