Development/C#
-
[프랙티컬 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..
-
[C#] string array를 int array로 변환Development/C# 2023. 7. 10. 15:03
1. Array.ConvertAll() 사용 using System; public class Example { public static void Main() { string[] strings = new string[] {"1", "2", "3"}; int[] ints = Array.ConvertAll(strings, s => int.Parse(s)); Console.WriteLine(String.Join(",", ints)); } } 람다식 표현 대신에 메서드 그룹을 사용해서 코드를 아래와 같이 개선 할 수 있다. using System; public class Example { public static void Main() { string[] strings = new string[] {"1", "2",..