C#190 [C#]제네릭 클래스(Generic Class) 제네릭 클래스(Generic Class)란? 제네릭 클래스(Generic Class)는 클래스 내부의 멤버 변수의 데이터 타입을 일반화한 클래스입니다. 특정 타입에 국한되지 않고 모든 타입을 멤버 변수의 타입으로 설정할 수 있습니다. 제네릭 클래스를 사용하지 않고 멤버 변수의 타입을 object 타입으로 정의할 수 있지만, 안전한 방법이 아니며, 향후 문제가 발생할 가능성이 높기 때문에 좋은 방법은 아닙니다. 이번 포스팅에서는 일반 클래스로 멤버 변수의 타입이 여러개인 경우와 제네릭 클래스(Generic Class)에 대해 정리하였습니다. 목차 일반 클래스의 문제점 제네릭 클래스(Generic Class) 정리 일반 클래스의 문제점 public class IntClass { public int intMe.. C# 2021. 9. 22. [C#]자료형(DataType) 확인 방법(GetType, typeof) C#에서 변수 또는 객체의 자료형을 확인하는 방법으로 GetType 메서드가 있습니다. 그리고 변수는 확인 불가능하지만, 객체의 자료형을 확인할 수 있는 typeof 연산자도 있습니다. 이번 포스팅에서는 GetType 메서드와 typeof 연산자에 대해 정리하였습니다. 목차 GetType 메서드 typeof 연산자 정리 GetType 메서드 GetType 메서드는 현재 인스턴스의 자료형을 반환합니다. 변수 또는 객체를 인수로 전달합니다. namespace ConsoleApp1 { class Program { class Person { public string Name { get; set; } } struct Circle { public int x; public int y; } static void Mai.. C# 2021. 9. 20. [C#]자료형(Data Type)의 기본 값(default) 연산자 C#에서는 자료형(Data Type)의 기본 값을 반환하는 default 연산자가 존재합니다. C# 7.1부터는 컴파일러가 자료형을 유추하여 기본값을 할당하는 default 리터럴이 추가되었으며, 코드를 심플하게 작성할 수 있습니다. 이번 포스팅에서는 default 연산자와 리터럴에 대해 설명하며, 어디에 사용되는지 정리하였습니다. 참고로 default 연산자와 리터럴은 switch문에서 사용되는 default와는 다른 개념입니다. 목차 default 연산자, 리터럴 default 응용 및 사용 정리 default 연산자, 리터럴 default 연산자는 괄호 안에 자료형을 명시해줍니다. int num = default(int); Console.WriteLine(num); // 0 default 리터럴은 .. C# 2021. 9. 20. [C#]제네릭 메서드(Generic Method) 널(Null) 반환 방법 제네릭 메서드(Generic Method)는 데이터 타입을 일반화한 메서드입니다. 를 사용하여 특정 데이터 타입으로 치환할 수 있으며, 데이터 타입 검사가 엄격하다는 장점이 있습니다. 데이터 타입 검사가 엄격하기 때문에 null을 반환하는 경우 컴파일 에러가 발생하는데요. 제네릭 메서드와 마찬가지로 일반 메서드도 null을 반환할 수 없지만, Nullable 연산자를 사용하면 null을 반환할 수 있습니다. 하지만, 제네릭 메서드는 Nullable 연산자를 사용할 수 없기 때문에 다른 방법으로 null을 반환하는 코드를 작성해야 합니다. 이번 포스팅에서는 제네릭 메서드에서 null을 반환하는 방법을 정리하였습니다. 제네릭 메서드(Generic Method)에서 null 반환 매개변수가 null이 아니면,.. C# 2021. 9. 19. [C#]제네릭 메서드(Generic Method) 제네릭 메서드(Generic Method)는 데이터 타입을 일반화한 메서드입니다. 특정 타입에 국한되지 않고 모든 타입을 메서드의 파라미터 또는 반환 형식으로 설정할 수 있는데요. 제네릭 메서드를 제대로 활용한다면, 불필요한 메서드를 반복해서 구현할 필요가 없으며, 코드의 재사용성이 증가되며, 타입을 안전하게 처리할 수 있다는 장점이 있습니다. 이번 포스팅에서는 일반적인 메서드의 문제점과 제네릭 메서드(Generic Mehtod)에 대해 정리하였습니다. 목차 일반적인 메서드의 문제점 제네릭 메서드(Generic Method) 정리 일반 메서드의 문제점 타입이 int형인 매개변수의 값을 Console에 출력하는 간단한 메서드를 구현하였습니다. void PrintConsoleValue(int val) { C.. C# 2021. 9. 19. [C#]문자열 나누기(Split), 자르기(Substring) 문자열을 분리하거나 또는 잘라야 하는 경우 Split() 메서드와 Substring() 메서드를 사용할 수 있습니다. Split() 메서드는 특정 문자열을 기준으로 문자열을 구분하며, SubString() 메서드는 지정된 위치에서 지정된 수만큼 문자열을 자르는 역할을 담당합니다. 이번 포스팅에서는 Split() 메서드와 Substring() 메서드 사용 방법을 정리합니다. 목차 Split 메서드 Split 메서드 오버로드 Substring 메서드 Split 메서드 Split() 메서드는 문자열을 특정 문자 또는 문자열을 기준으로 분리합니다. 분리된 문자열은 배열로 반환되며, 전화번호에서 '-'를 기준으로 문자열을 분리하거나 이메일에서 '@'를 기준으로 문자열을 분리하는 경우 사용할 수 있습니다. 기본 사.. C#/문자열 2021. 9. 12. [C#]컬렉션, 큐(Queue) 자료구조 .NET 프레임워크가 제공하는 컬렉션 클래스에서 큐(Queue)를 소개합니다. Queue는 먼저 들어온 값이 먼저 나중에 나가는 FIFO(First In First Out)이라 부르는 자료 구조입니다. 대기열처럼 먼저 기다리는 사람이 먼저 입장하는 구조이며, Queue는 어떠한 작업을 순서대로 처리해야 하는 경우 사용됩니다. Queue는 ArrayList와 마찬가지로 크기가 자동으로 늘어나며, 타입이 서로 다른 값을 추가할 수 있습니다. 위 사진에서 볼 수 있듯이 Queue에 값을 추가하는 경우 Enqueue() 메서드를 사용하며, Queue에서 값을 제거하는 경우 Dequeue() 메서드를 사용합니다. 이번 포스팅에서는 큐(Queue) 컬렉션을 다루는 방법을 정리하였습니다. 목차 Queue 생성 Que.. C# 2021. 9. 11. [C#]컬렉션, 스택(Stack) 자료구조 .NET 프레임워크가 제공하는 컬렉션 클래스에서 스택(Stack)을 소개합니다. 스택은 먼저 들어온 값이 나중에 나가는 FILO(First In Last Out)이라 부르기도 하며, 나중에 들어온 값이 먼저 나가는 LIFO(Last In First Out)라고 부르는 자료 구조입니다. 이론적인 내용은 구글에 검색하면 많이 나오기 때문에 생략하겠습니다. Stack은 ArrayList와 마찬가지로 크기가 자동으로 늘어나며, 타입이 서로 다른 값을 추가할 수 있는 자료 구조입니다. 이번 포스팅에서는 스택(Stack) 컬렉션을 다루는 방법을 정리하였습니다. 목차 Stack 생성 Stack 초기화 Stack에 값 추가 Stack에 값을 제거 Stack 생성 우선, 컬렉션인 Stack을 사용하기 위해 System... C# 2021. 9. 11. [C#]컬렉션, ArrayList .NET 프레임워크가 제공하는 컬렉션 클래스에서 배열과 유사한 ArrayList를 소개합니다. 배열은 정해진 크기만큼 값을 추가할 수 있으며, 동일한 타입만 다룰 수 있습니다. 하지만, ArrayList는 크기가 자동으로 늘어나며, 타입이 서로 다른 값을 추가할 수 있는 자료 구조입니다. 이번 포스팅에서는 배열에 비해 유용한 ArrayList를 다루는 방법을 정리하였습니다. 목차 ArrayList 생성 ArrayList 초기화 ArrayList에 값 추가 ArrayList에 값을 제거 ArrayList 생성 우선, 컬렉션인 ArrayList를 사용하기 위해 System.Collections를 using문에 추가합니다. using System.Collections; ArrayList 객체는 일반 객체를 생.. C# 2021. 8. 28. [C#]문자열(String)이 null인지 공백인지 확인하는 방법 C#에서 문자열이 null인지 빈 문자열인지 혹은 공백문자인지 확인하는 방법이 있습니다. IsNullOrEmpty 메서드를 사용하여 null인지 공백("")인지 확인할 수 있으며, IsNullOrWhiteSpace 메서드를 사용하여 null인지 공백문자인지 확인할 수 있습니다. 이번 포스팅에서는 IsNullOrEmpty 메서드와 IsNullOrWhiteSpace 메서드의 사용 방법을 정리합니다. 목차 IsNullOrEmpty 메서드 IsNullOrWhiteSpace 메서드 IsNullOrEmpty 메서드 IsNullOrEmpty 메서드는 문자열이 null 또는 빈 문자열("")인 경우 true를 반환하며, 그렇지 않으면 false를 반환합니다. Console.WriteLine("String.IsNullO.. C#/문자열 2021. 8. 26. [C#]DataTable에서 특정 Row만 추출하기 DataTable에서 특정 Row만 추출하는 경우가 존재합니다. DataTable.Select 메서드를 사용하여 필터링된 DataRow를 배열로 생성하는 방법 DataView.RowFilter 속성을 사용하여 필터링하는 방법 2가지 방법이 존재합니다. LINQ를 사용하는 방법도 있지만, 개념 및 사용 방법이 미숙하여 생략하였습니다. 이번 포스팅에서는 위 2가지 방법을 사용하여 DataTable에서 데이터를 검색하는 방법을 정리합니다. 목차 DataTable.Select 메서드를 사용하는 방법 DataView.RowFilter 속성을 사용하는 방법 DataTable.Select 메서드를 사용하는 방법 다음 그림과 같은 컬럼과 행을 가진 DataTable 객체 dt가 존재합니다. dt에서 Market 컬럼의.. C# 2021. 8. 24. [C#]DataTable RowState 강제로 변경 C#에서 DataTable의 RowState를 강제로 변경해야하는 경우가 있습니다. 이번 포스팅은 DataTable의 RowState를 강제로 변경하는 방법을 정리합니다. 목차 Unchanged로 변경하기 Deleted로 변경하기 Added로 변경하기 Modified로 변경하기 unchanged로 변경하기 AcceptChagned 메서드를 사용하여 DataTable의 모든 Row의 State를 Unchanged로 변경할 수 있습니다. // 예제로 사용될 DataTable 생성 DataTable dt = new DataTable(); // 컬럼 생성 dt.Columns.Add("Market", typeof(string)); dt.Columns.Add("Fruit", typeof(string)); dt.Co.. C# 2021. 8. 22. 이전 1 ··· 11 12 13 14 15 16 다음