Development
-
[프렉티컬 C#] DictionaryDevelopment/C# 2023. 7. 27. 13:34
HashSet 클래스 - Dictionary와 비슷하지만 키 부분만 저장하고 값은 저장하지 않는다. - 중복을 허용하지 않는다. - 요소를 꺼내는 순서는 정해져 있지 않아서 등록한 순서로 나온다는 보장이 없다. - Add 메서드는 요소가 객체에 추가되면 true를 반환하고 이미 존재하는 경우에는 예외를 발생시키지 않고 false를 반환한다. Dictionary 제네릭 클랙스 - 해시 테이블이라는 데이터 구조로 만들어진 클래스 - 키와 이 키에 대응하는 값을 여러 개 저장할 수 있는 컬렉션 - 배열이나 리스트와 비교했을 때 키를 사용해 값을 구하므로 속도가 가장 빠르다. 딕셔너리 초기화 var abcDic = new Dictionaray() { { "abc", 400 }, { "def", 300 }, { ..
-
[프렉티컬 C#] 배열과 List<T>Development/C# 2023. 7. 26. 15:15
여러 요소를 한꺼번에 관리할 수 있게 해주는 데이터 구조는 배열과 컬렉션이 있다. 컬렉션 - Group of objects - Collections provide a more flexible way to work with groups of objects. Unlike arrays, the group of objects you work with can grow and shrink dynamically as the needs of the application change. Collections (C#) Learn about collections in C#, which are used to work with groups of objects. Collections can grow and shrink dynami..
-
[프렉티컬 C#] 문자열 처리Development/C# 2023. 7. 26. 01:24
문자열 비교 대소문자 구별 : == 연산자 사용 대소문자 구별 없이 : String.Compare 정적 메서드 사용 Compare(String, String, Boolean, CultureInfo) 대/소문자를 구분하거나 구분하지 않고 지정된 두 String 개체를 비교하여 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다. 문화권별 정보가 비교에 영향을 줍니다. public static int Compare (string? strA, string? strB, bool ignoreCase); 매개 변수 strA 비교할 첫째 문자열입니다. strB 비교할 둘째 문자열입니다. ignoreCase 비교 시 대/소문자를 무시하려면 true이고, 그러지 않으면 false입니다. C# 4.0 이후 버..
-
[프렉티컬 C# 연습문제] 2부 - 1장Development/C# 2023. 7. 25. 01:16
관용구 1. 변수,배열,리스트,객체 선언과 초기화는 동시에 이뤄져야 하는 것이 원칙 // 변수 var age = 25; // 배열, 리스트 // 마지막 요소 뒤에 콤마 붙이면 요소를 바꾸거나 추가할 때 편함 var langs = new string[] {"C#", "VB", "C++",}; var nums = new List {10,20,30,40,}; // Dictionary var dict = new Dictionary() { {"ko", "한국어"}, {"en", "영어"}, {"es", "스페인어"} }; // or after C# 6.0 var dict = new Dictionary() { ["ko"] = "한국어", ["en"] = "영어", ["es"] = "스페인어" }; // 객체 var..
-
[프랙티컬 C# 연습문제] 1부 - 3장Development/C# 2023. 7. 15. 00:36
대리자(delegate) -대리자는 메서드를 대신 호출하는 기법 -대리자는 메서드의 주소를 참조 -대리자를 사용하면 메서드끼리 연결 및 조합이 가능 * Predicate -delegate의 제네릭 버전 -델리케이트를 직접 정의하지 않아도 된다. 익명 메서드 메서드를 생성하지 않고도 delegate를 생성할 수 있게 해준다. // delegate(int n) {return n % 2 == 0;} = 익명 메서드 var count = Count(numbers, delegate(int n) {return n % 2 == 0;}); 람다식 -일종의 메서드 -C# 3.0부터 delegate 키워드가 없어지고 그 대신 =>(람다 연산자)가 사용된다. -추상도 증가 var count = Count(numbers, n..
-
[프랙티컬 C# 연습문제] 1부 - 2장Development/C# 2023. 7. 14. 22:38
📍 포인트 -계산 로직을 메서드 형태로 독립 시키기 -메서드의 기능을 단순하게 하기 -클래스 분리하기 -인스턴스 속성이나 인스턴스 필드를 이용하지 않는 메서드는 정적 메서드 변경 -클래스 안에 있는 모든 멤버가 정적 멤버일 경우 정적 클래스로 변경 -상수는 const로 지정 *private OK public read only -var 사용 -클래스 대신 인터페이스 사용 문제 2.1 Program.cs using System; using System.Collections.Generic; namespace helloworld { class Program { static void Main(string[] args) { var songs = new List(); var song1 = new Song("song1..
-
[프랙티컬 C# 연습문제] 1부 - 1장Development/C# 2023. 7. 12. 18:51
문제 1.1 using changename; namespace helloworld { class Program { static void Main(string[] args) { Product pullbread = new Product(95, "풀빵", 210); Console.WriteLine(pullbread.GetPriceIncludingTax()); } } } namespace changename { public class Product { public int code { get; private set; } public string Name { get; private set; } public int price { get; private set; } public Product(int code, stri..