본문 바로가기

프로그래밍/C#101

C# list 검색 시 First() vs Find() 차이점 First() 또는 Find(), 그것이 문제로다.C#으로 코딩하다 보면 list에서 해당하는 항목을 찾는 코드를 작성하곤 한다. 그리고 이때마다 First()를 써야 할지 Find()를 써야 할지 고민이 된다.var l = new List { 1, 2, 3, 4, 5 };var x = l.First(i => i == 3);var y = l.Find(i => i == 3); 매번 고민되는 사항이다. 일단 구현 코드를 살펴보도록 하자.Enumerable.First()public static TSource First(this IEnumerable source, Func predicate){ if (source == null) { throw Error.ArgumentNull("sourc.. 2024. 6. 24.
Json 파일 형태에 따른 역직렬화 코드 예제 Object로 구성된 Json 파일{ "LengthMin": 1, "LengthMax": 12, "CharacterId": 100}역직렬화 코드 예제using var reader = new StreamReader(fullPath);string json = reader.ReadToEnd();// T로 디시리얼라이징var result = JsonSerializer.Deserialize(json); Array안의 Object로 구성된 Json 파일[ { "LengthMin": 1, "LengthMax": 12, "CharacterId": 100 }]역직렬화 코드 예제using var reader = new StreamReader(fullPath);string json = reader... 2024. 6. 5.
C# 세제곱근 계산하기 세제곱근 계산하기수학 관련으로 공부하다보니 제곱근 다음으로 세제곱근도 구해야 하는 순간이 왔다.C#에서 세제곱근은 Math.Cbrt() 함수를 사용하면 간단하게 구할 수 있다. 예제using System;public partial class Program{ static void Main(string[] args) { Console.WriteLine($"16의 세제곱근 + 54의 세제곱근 = 250의 세제곱근"); Console.WriteLine($"{Math.Cbrt(16)} + {Math.Cbrt(54)} = {Math.Cbrt(16) + Math.Cbrt(54)}"); Console.WriteLine($"250의 세제곱근: {Math.Cbrt(250)}.. 2024. 5. 29.
C# 간단하게 10진수를 2진수, 16진수로 변환하기 간단하게 10진수를 2진수, 16진수로 변환하기문자열 보간을 이용하면 Convert와 같은 함수를 쓰지 않고 2진수, 16진수로 변환이 가능하다. static void Main(string[] args){ Console.WriteLine($"{133:B}"); Console.WriteLine($"{133:X}");} $"{10진수 숫자:B}" => 이진수로 변환$"{10진수 숫자:X}" => 16진수로 변환 B : Binary 2진수X : Hexadecimal 16진수를 의미한다.  간단하게 변환이 가능하다. 추가적인 숫자 서식 지정에 대해서는 아래의 글을 참고하자. 함께 읽으면 좋은 글 C# 숫자 서식 지정자(Number Format Specifier)표준 출력 형식의 문법 {n,w:tp} .. 2024. 5. 22.
C# PadLeft, PadRight에 대해서 PadLeft 메서드public string PadLeft(int totalWidth) => PadLeft(totalWidth, ' ');특정 문자열의 길이를 인자로 설정한 길이만큼 왼쪽부터 채워준다.(채우는 문자열은 기본은 빈칸 ' ') public string PadLeft(int totalWidth, char paddingChar)기본 설정인 빈칸이 아니라 별도의 char를 입력하면 해당 문자로 채워준다. PadRight 메서드특정 문자열의 길이를 인자로 설정한 길이만큼 문자열의 끝 오른쪽부터 채워준다. 채우는 문자열은 기본은 빈칸 ' ' *길이보다 작게 설정되면 문자열에 대한 변경을 일어나지 않는다.var s = "hello";Console.WriteLine(s.PadRight(3, '#'));/.. 2024. 5. 8.
ASP.NET Core 호스트 설정하기 Host 정의 Host는 .NET app의 아래의 자원들을 캡슐화한 객체이다. 의존성 주입 (Dependency injection, DI) 로깅 (Logging) 설정 (Configuration) IHostedService 구현체들 Host 설정 host는 일반적으로 Program.cs에서 설정하고 빌드하고 실행된다. await Host.CreateDefaultBuilder(args) .ConfigureServices(services => { services.AddHostedService(); }) .Build() .RunAsync(); 기본 빌더 설정(Default builder settings) 위에부터 순서대로 적용되며 가장 최근 항목이 이전 항목을 덮어쓰기(overwrite) 한다. host co.. 2024. 4. 15.