반응형 전체 글552 Effective C# - Item2 const보다는 readonly가 좋다. Item2 const보다는 readonly가 좋다. 컴파일타임 상수(const) 상수의 값은 이미 코드를 컴파일할 때 결정된다. 따라서 런타임에 값이 변경되지 않고 상수로 사용된다. 그러므로 상수 값을 사용할 때 추가적인 평가나 계산이 필요하지 않다. 이는 주로 attribute의 매개변수, switch/casw문의 레이블, enum정의시 사용하는 상수 등에 사용된다. // Millennium을 사용하는 모든 곳에서 컴파일러난 이를 200으로 대체한다. cosnt int Millennium = 200; 값이 변경되었을 경우 응용 프로그램 전체를 다시 빌드해야한다. 변경된 const값은 새로운 컴파일 시점에 반영되기 떄문이다. 이는 변경사항이 생겼을때 소스 코드에서 값을 직접 수정하고 다시 컴파일 한 후 .. 2023. 10. 27. Effective C# - Item1 지역변수를 선언할 때는 var를 사용하는 것이 낫다. 0. 들어가기 앞서코딩테스트를 준비하면서 C#에 대해 더 자세히 알고 싶고 효율적으로 코드를 짜고 싶다는 욕심이 생겼다. 어떻게 공부해야할까 하다가 찾아보던 중 Effective 시리즈 책을 알게 되었다. 더 나은 개발자로 성장해보자1. Item1 지역변수를 선언할 때는 var를 사용하는 것이 낫다.01 지역변수의 타입을 암시적으로 선언하는 것이 좋은 이유C# 언어가 익명 타입(anonymouse type)을 지원하기 때문이다. var를 사용하게 되면 타입 추론이 사용된다. 이는 정적 타이핑(static typing), 동적 타이핑(dynamic typing)과 별개의 개념이다. 타입 추론을 사용게하되면 할당 연산자의 오른쪽 값으로부터 왼쪽 변수의 타입을 추론하여 결정하며 여전히 컴파일 시간에 변수의 정.. 2023. 10. 24. 백준 C# - 10820 +)풀이 풀이 알고리즘 자체는 쉽게 떠올릴 수 있다. 하지만 입력부분에서 한줄로 입력받는 것이 아니라 한꺼번에 N개의 문자열을 받는 것이 조금 까다로웠다. 입력 첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다. Console.ReadLine은 한줄씩만 받아올 수 있는데 어떻게 할까 하다가 null을 입력받기 전까지 계속 반복문으로 입력을 받자라는 아이디어로 아래와 같이 입력받았다. while ((word = Console.ReadLine()) != null) 코드 전문 using System; using System.Linq; namespace baek2 { class Program { static void Main(string[] args) { str.. 2023. 10. 23. C# - 배열 초기화 방법 2가지(for문,Enumerable.Repeat ) 배열을 -1로 초기화하는데 3가지 방법이 있다. 01 for루프 사용 int[] vs = new int[26]; for (int i = 0; i < vs.Length; i++) { vs[i] = -1; } 02 Enumerable.Repeat사용 Enumerable.Repeat LINQ라이브러리의 일부로 제공되는 메서드이다. 지정된 요소를 반복하고 생성하여 컬렉션을 만들어준다. public static IEnumerable Repeat(TResult element, int count); 매개변수 TResult : 생성할 요소의 유형 element : 반복해서 생성할 요소 count : 생성할 횟수 아래와 같이 한줄로 배열을 초기화할 수 있다. int[] vs = Enumerable.Repeat(-1, 2.. 2023. 10. 23. 백준 C# - 10809 이 문제를 풀기 전에 아래 문제를 먼저 푸는 것을 추천한다. 백준 C# - 10808 백준 C# - 10808 using System; using System.Collections.Generic; using System.Text; namespace baek2 { class Program { static void Main(string[] args) { string word = Console.ReadLine(); int[] vs = new int[26]; foreach(char c in word) { vs[c - 'a']++; } for(int i = 0; i code-piggy.tistory.com using System; using System.Linq; namespace baek2 { class Pro.. 2023. 10. 23. 백준 C# - 10808 using System; using System.Collections.Generic; using System.Text; namespace baek2 { class Program { static void Main(string[] args) { string word = Console.ReadLine(); int[] vs = new int[26]; foreach(char c in word) { vs[c - 'a']++; } for(int i = 0; i 2023. 10. 23. 이전 1 ··· 42 43 44 45 46 47 48 ··· 92 다음 반응형