목록전체 글 (50)
코드몽키블로그#
C# for 반복 구문 C# for 문은 루프 안에 있는 문장들을 반복적으로 실행할 때 사용한다. for 루프는 일반적으로 카운터 변수를 이용해 일정 범위 동안 for 루프 안의 블럭을 실행한다. 다음 예제는 0부터 9까지 총 10번 콘솔 출력을 반복하는 코드이다. class Program { static void Main(string[] args) { // for 루프 for (int i = 0; i < 10; i++) { Console.WriteLine("Loop {0}", i); } } } C# foreach 반복 구문 C# foreach 문은 배열이나 컬렉션에 주로 사용하는데, 컬렉션의 각 요소를 하나씩 꺼내와서 foreach 루프 내의 블럭을 실행할 때 사용된다. 다음 예제는 문자열 배열을 fo..
C# if 조건문 if 문은 조건식이 참, 거짓인지에 따라 서로 다른 블럭의 코드를 실행하게 한다. 예를 들면, if (조건식) { 블럭1 } else { 블럭2 } 문장의 경우, 조건식이 참이면 블럭1을 실행하고, 거짓이면 블럭2를 실행한다. 아래 예제는 a값이 0 이상이면 val는 a 값을 그대로 갖고, 0보다 작으면 -a 값을 갖는 표현이다. int a = -11; if (a>=0) { val = a; } else { val = -a; } // 출력값 : 11 Console.Write(val); C# switch 조건문 switch 문은 조건값이 여러 값들을 가질 경우 각 case 별 다른 문장들을 실행할 때 사용된다. 각각의 경우에 해당하는 값을 case 문 뒤에 지정하며, 어떤 경우에도 속하지 ..
C# 연산자 C#은 다른 프로그래밍 언어와 비슷하게 수식 연산자, 논리 연산자, 조건 연산자등 다양한 연산자들을 제공하고 있다. 아래 표는 각 카테코리별 연산자 및 그 샘플을 예시한 것이다. 연산자 타입연산자예제 산술 연산자 +, -, *, /, % int a = (x + y - z) * (b / c) % d; 할당 연산자 =, +=, -=, *=, /=, %= int a = 100; sum += a; [설명] sum += a 는 sum = sum + a 를 축약한 표현이다. 증감 연산자 ++, -- int i = 1; i++; [설명] i++ 는 i = i + 1 를 축약한 표현이다. 논리 연산자 && (And), || (Or), ! (Not) if ((a > 1 && b < 0) || c == 1 |..
C#의 키워드 enum은 열거형 상수(constant)를 표현하기 위한 것으로 이를 이용하면 상수 숫자들을 보다 의미있는 단어들로 표현할 수 있어서 프로그램을 읽기 쉽게 해준다. enum의 각 요소는 별도의 지정없이는 첫번째 요소가 0, 두번째 요소가 1, 세번째 요소가 2 등과 같이 1씩 증가된 값들을 할당받는다. 물론, 개발자가 임의로 의미있는 번호를 지정해 줄 수도 있다. enum문은 클래스 안이나 네임스페이스 내에서만 선언될 수 있다. 즉, 메서드 안이나 속성 안에서는 선언되지 않는다. 아래 예제는 Category 라는 enum 타입을 정의한 예인데, Cake는 숫자 0을 갖고, IceCream은 1, Bread는 2라는 값을 갖는다. 프로그램상에서 Category 값을 0, 1 처럼 직접 쓰는 ..
C# 문자열 문자열(string)은 프로그램에서 가장 많이 쓰이는 데이타 타입 중의 하나이다. C#에서 문자열(string)은 이중부호를 사용하여 표현되며, 단일 문자(char)는 단일부호를 사용하여 표현된다. C#의 키워드 string은 .NET의 System.String 클래스와 동일하며, 따라서 System.String 클래스의 모든 메서드와 속성(Property)을 사용할 수 있다. 예를 들어 일정 문자열 부분만 뽑아내는 Substring() 메서드, 문자열 길이를 구하는 Length 속성 등을 모두 사용할 수 있다. C# 문자열은 Immutable 즉 한번 문자열이 설정되면, 다시 변경할 수 없다. (주: 한번 그 값이 설정되면 다시 변경할 수 없는 타입을 Immutable Type이라 부르고,..
C# 배열 (Array) 배열은 일련의 동일한 데이타 타입 요소들로 구성된 데이타 집합으로서, 인덱스를 통하여 개개의 배열요소(Element)를 엑세스할 수 있다. C#에서 배열은 Zero-based Array 즉 첫번째 요소가 인덱스 0을 갖는다. 두번째 요소는 인덱스 1, 그 다음 요소들은 인덱스 2, 3, ... 등을 갖는다. 배열의 요소는 Sqaure Bracket([ ])안에 인덱스를 넣어 표시한다. 즉, 배열 A의 첫번째 요소는 A[0] 으로 표시한다. C# 배열은 1차배열, 2차배열, 3차배열,..., 32차 배열 등 최고 32차 배열을 가질 수 있다. 2차 이상의 다차원 배열은 (1)각 차원별 요소 크기가 고정된 Rectangular 배열과 (2) 각 차원별 크기가 서로 다른 가변배열로 나..
C# 변수 C# 변수는 메서드 안에서 해당 메서드의 로컬변수로 선언되거나, 혹은 클래스 안에서 클래스 내의 멤버들이 사용하는 전역적 변수(이를 필드(Field)라고 부름)로 선언될 수 있다. 로컬변수는 해당 메서드내에서만 사용되며, 메서드 호출이 끝나면 소멸된다. 반면 필드는 클래스의 객체가 살아있는 한 계속 존속하며 또한 다른 메서드들에서 필드를 참조할 수 있다. (주: 만약 필드가 정적 필드(static field)이면 클래스 Type이 처음으로 런타임에 의해 로드될 때 해당 Type 객체(타입 메타정보를 갖는 객체)에 생성되어 프로그램이 종료될 때까지 유지된다). 로컬변수는 기본값을 할당받지 못하기 때문에 반드시 사용 전에 값을 할당해야 하는 반면, 필드는 값을 할당하지 않으면, 해당 타입의 기본값..
C# 데이타 타입 C#을 포함한 모든 .NET 프로그래밍 언어는 .NET의 Common Type System 에 정의된 .NET 데이타 타입을 사용한다. C#은 int, double, string 과 같은 C# 키워드로 데이타 타입을 표현할 수 있으며, 또한 System.Int32, System.Double, System.String 과 같은 .NET 데이타 클래스로 데이타 타입을 표현할 수도 있다. 내부적으로는 C# 컴파일러는 C# 키워드로 된 데이타 타입을 컴파일 후 .NET 데이타 타입으로 변경하게 된다. C# 데이타 타입.NET 데이타 타입설명 bool System.Boolean True or False byte System.Byte 8비트 unsigned integer sbyte System.S..
C# 버전 C#은 .NET Framework 버전 및 Visual Studio 버전과 밀접한 관련이 있으며, 다음 도표에서 각 버젼별 연관성을 살펴 볼 수 있다. .NET 버전C# 버전Visual Studio .NET 1.0 C# 1.0 Visual Studio .NET .NET 1.1 C# 1.1 Visual Studio .NET 2003 .NET 2.0 C# 2.0 Visual Studio 2005 .NET 3.0 C# 2.0 Visual Studio 2005 Extensions .NET 3.5 C# 3.0 Visual Studio 2008 .NET 4.0 C# 4.0 Visual Studio 2010 .NET 4.5 C# 5.0 Visual Studio 2012 Visual Studio 2013 ...
C# 프로그래밍 언어 C#은 마이크로소프트에서 개발된 객체 지향 프로그래밍 언어로서 Java 나 C++와 비슷한 면들을 많이 가지고 있다. C#을 이야기 하면 자연스럽게 .NET Framework을 함께 이야기 해야할 정도로 C#은 .NET Framework을 이용하여 프로그래밍하는 대표적인 언어이다. C#은 윈도우 프로그래밍, 웹 프로그래밍, 게임 및 모바일 프로그래밍 등 모든 영역에서 사용되는 범용 프로그래밍 언어이다 C# 프로그램 소스코드 C# 프로그램은 .cs 라는 확장자를 사용한다. 예) test.cs, test.aspx.cs, test.xaml.cs C++와 다르게 C#은 *.h과 같은 별도의 헤더 파일이 없다. C# 프로그램으로부터 실행 파일을 만들기 위해서는 (1) Visual Studio..