본문 바로가기

2017/08

[C#] SqlDataReader System.Data.SqlClient.SqlDataReader는 쿼리의 결과를 데이터베이스에서 한행씩 읽어들이는 역활을 수행합니다. SqlCommand sc = new SqlCommand("Select * From member"); SqlDataReader reader = sc.ExecuteReader(); while (reader.Read()) { string name = reader.GetString(0); int age = reader.GetInt32(1); } reader.Close(); 대부분의 경우 while문을 통해 반복문을 수행하면서 결과를 읽으며 Read메서드가 false이면 끝을 의미합니다. SqlDataReader는 실제 결과데이터를 가지고 있지 않으며 결과테이블에서 다음에 가져와야.. 더보기
[C#] String System.String 클래스는 대부분의 문자열관련 처리에 이용됩니다. 이 클래스에서 자주 사용되는 메서드는 문자열 포함여부를 확인하는 Contains나 문자열을 치환하는 Replace같은 메서드를 사용할 수 있습니다. 이들 메서드 중에서 특징되는 몇몇 메서드를 살펴보겠습니다. Trim()메서드는 문자열의 공백을 제거하는데 자주 사용되지만 string s = " abc "; Console.WriteLine(s.Trim()); 특정 문자를 지정하면 해당 문자를 삭제한 결과를 반환합니다. string s = "abc"; Console.WriteLine(s.Trim('a')); 문자열을 비교할때는 == 연산자를 사용할 수 있지만 대소문자를 구분하며 이를 무시할 수 없습니다. string a = "abc"; .. 더보기
[C#] 확장 메서드(Extension Method) - 2 [Programming/.NET] - [C#] 확장 메서드(Extension Method) - 1 위 글에서는 확장메서드를 직접 구현하고 해당 메서드를 호출하는 방법으로 확장메서드구현 방법에 대해 알아보았습니다. 하지만 기본적인 기능을 구현하는 경우라면 굳이 확장메서드를 일일이 직접 만들필요가 없습니다. 확장메서드를 기반으로 이미 C#에서는 마침표 표기법(Dot Notation)을 지원하고 있기 때문입니다. var result = bb.Where(r => r.Size == 50); 위 예제는 마침표 표기법을 사용하고 있는 예시입니다. 이 메서드를 호출하고 난 뒤의 결과는 Filter메서드를 호출한것과 동일한 결과를 가져옵니다. 웬만한 처리작업은 LINQ 확장메서드로서 이미 IEnumerable에 구현되어.. 더보기
[C#] ?? 연산자 null 조건을 처리할 수 있는 연산자로 ?? 가 있습니다. 예를 들어 아래와 같은 코드는 string s = null; if (s == null) Console.WriteLine("NULL"); 다음과 같이 수정될 수 있습니다. string s = null; Console.WriteLine(s ?? "NULL"); 더보기
[C#] 형변환(캐스팅 - Casting) 1. 암시적 형변환(Implicit conversion) short s = 100; int i = s; 위 코드에서는 short형의 변수를 int형 변수에 대입하고 있습니다. int형 변수는 short타입의 변수보다 담을 수 있는 값의 범위가 더 크므로 이런 경우에는 전혀 문제되지 않고 정상적으로 형변환을 수행합니다. 이렇게 명시적이지 않고 자연스럽게 형변환이 이루어 지는 것을 암시적 형변환이라고 합니다. 2. 명시적 형변환(Explicit conversion) int i = 100; short s = i; int형 변수를 short형 변수에 대입하려고 시도하고 있습니다. short형 데이터타입은 int형 보다는 담을 수 있는 값의 범위가 더 작으므로 실제 위 코드를 컴파일하면 암시적 형변환을 수행할 수.. 더보기