본문 바로가기
[C#] 프로퍼티(Property) / get, set 메서드 객체 지향 프로그램(OOP)에서 캡슐화(Encapsulation)는 객체의 필드와 메서드를 묶어, 실제 구현 내용 일부를 외부에 감추는 것을 의미한다.  c#에서도 클래스를 만들어 사용할 때 민감한 정보가 담긴 필드는 외부에서 함부로 읽고 쓰게 할 수 없게 하기 위해 은닉성 보장이 필요하다. 이를 위해 접근 제한자 private를 사용해 외부에서 접근하지 못하게 막아두는데, 이때 캡슐화된 필드를 메서드를 통해 부분적으로 외부에 들어나게 한다.public class Student1{ private string name; private int score; private void setName(string name) { this.name = name; } publi.. 2025. 1. 13.
[C#] List 검색 메서드 (Contains(), Exists(), Find()) C# List는 List에 특정 값이 존재하는지 확인하는 메서드가 여러개 있다.그중 Contains(), Exists(), Find()에 대해 알아보겠다.  Contains vs Exists vs Find List.Contains(T)단순히 매개변수의 내용을 포함하는 요소가 List에 있는지 여부를 확인한다.있으면 True, 없으면 False를 반환한다.List.Exists(Predicate)특정 값을 찾기 위한 조건과 일치하는 요소가 List에 포함되어 있는지 여부를 확인한다.있으면 True, 없으면 False를 반환한다.List.Find(Predicate)특정 값을 찾기 위한 조건과 일치하는 요소가 List에 처음으로 검색된 요소를 반환한다.검색되지 않으면 T형식의 기본값이 반환된다.아래 클래스는 이.. 2025. 1. 9.
[C#] Enumerable.Any(), Enumerable.All() 메서드 Any( ) 메서드 조건에 해당하는 값이 있는지 확인하나라도 일치하면 true전부 일치하지 않으면 false// 이름이 포함 되는가?var name = new string[] { "Kim", "Lee", "Park" };bool result;result = name.Any(str => str == "Choi");Console.WriteLine(result); // Falseresult = name.Any(str => str == "Lee");Console.WriteLine(result); // True// 소문자가 있는가?var s = "Hello World";result = s.Any(c => char.IsLower(c));Console.WriteLine(result); // True   All( ) .. 2025. 1. 8.
[C#] Enumerable.SelectMany() 메서드 SelectMany 메서드?컬렉션 속성을 가지고 있는 객체가 있고, 자식 컬렉션의 각 항목을 하나씩 열거해야하는 경우 사용하는 메서드쉽게 설명하면 Collection안에 다른 Collection이 정의되어 있고, 이 중 Sub Collection의 데이터를 가져올때 사용하는 메서드이다.  Select 메서드 Select 메서드는 객체에 담긴 데이터 중 원하는 값만 추출하여 새로운 형태의 컬렉션을 생성하는 메서드이다.아래의 예시는 Team 객체에서 name 값만 추출하여 새로운 컬렉션을 만든 것이다.class Program{ public class Team { public string name; public string[] players; } static vo.. 2025. 1. 7.
[C#] OfType<T>() vs CAST<T>() Enumerable.OfType()시퀀스 내의 형식과 일치하는 요소만 반환, 필터 기능이라고 보면됨일치하지 않는 요소가 있어도 예외를 발생 하지 않음object[] arr = { 1, "2", 3, "4", 5 };var ofTypeArr = arr.OfType();Console.WriteLine(string.Join(", ", ofTypeArr)); // 1, 3, 5int와 string 속성이 섞인 배열에서 int타입만 필터링 되었다.Enumerable.Cast() 시퀀스 내의 모든 요소의 형식을 타입으로 변환 시도만약 형 변환이 되지 않는 요소가 있을 경우 InvalidCastException 예외 발생 object[] arr = { 1, "2", 3, "4", 5 };var castArr = ar.. 2024. 12. 19.
[C#] 열거형 Enum 열거형 Enum열거형은 서로 관련 있는 상수들의 집합을 정의한 것 이다. 숫자에 특정한 명칭을 붙여주어 의미를 쉽게 이해할 수 있게 하는 용도로 사용된다. 예를 들어 프로그램에서 사과, 바나나, 오렌지의 세 과일을 사용하고 싶은데 각각 0, 1, 2라는 숫자를 부여한다면 나중에 1이 무엇을 의미하는지 이해하기 어려울 수 있다. // 0 == apple, 1 == banana, 2 == orangeint[] fruit = { 0, 1, 2 };  이럴 때 enum을 사용하면 보기 편한 코드를 작성할 수 있다.enum Fruit{ apple, // 0 banana, // 1 orange // 2}enum 사용법enum은 기본적으로 위에 Fruit 예시 처럼 enum 이름 { } 형태로 중.. 2024. 12. 16.