[[TableOfContents]] == 개요 == * 미처 스터디 시간에 전달하지 못한 내용을 정리한 페이지입니다. == 내용 == * 닷넷 응용 프로그램은 기존의 모든 윈도우 응용 프로그램에 대응해서 만들 수 있습니다. * 웹 응용 프로그램의 경우 ASP는 ASP.NET에 대응됩니다. * 콘솔 응용 프로그램의 경우 Win32 Console은 Console에 대응됩니다. * 윈도우 응용 프로그램의 경우 Win32 Windows, MFC는 Windows Forms, WPF에 대응됩니다. * COM+ 응용 프로그램의 경우 COM+가 Enterprise Services에 대응됩니다. * 윈도우 서비스의 경우 NT 서비스가 윈도우 서비스에 대응됩니다. * 유니코드(Unicode)는 다국어 지원을 위한 문자 집합입니다. 전 세계의 모든 문자를 표현하기 위해 설계된 산업 표준으로, 프로그램을 유니코드 기반으로 만들면 운영체제의 언어 설정에 상관없이 동일한 문자를 출력할 수 있습니다. * 물론, 대상 운영체제에 유니코드에 대응되는 폰트(Font)가 설치되어 있어야합니다. * 콘솔에 메시지를 출력하려면 다음의 메서드를 사용합니다. 인자는 문자열, 정수형, 실수형, 논리형 무엇이든 올 수 있습니다. * Console.Write은 개행이 없는 버전입니다. * Console.WriteLine은 개행이 있는 버전입니다. * string 타입은 '+' 연산자를 제공하기 때문에, 문자열을 서로 연결할 수 있습니다. * ex) string s = "Hello" + "World"; // s는 HelloWorld * switch 문에서 default는 C#에서도 강제 사항은 아닙니다. * C#에서도 복합 대입 연산자인 '+=', '-=', '*=', '/=', '%='를 제공합니다. * 컴파일러가 값을 컴파일 시에 계산할 수 있는 상수 표현식이면 상수에 대입할 수 있습니다. * 변수끼리 대입을 했을 때 값 형식은 각각 다른 위치에 동일한 값이 복사되어 개별 값을 가리키는 반면에, 참조 형식은 힙 메모리에 하나의 값만 위치한 상태에서 스택의 변수 값이 같은 힙 위치를 가리키게 됩니다. * 각 자료형은 서로 변환하는 것이 가능합니다. 부가적인 코드를 지정하지 않고 자연스럽게 형변환(Type Conversion)되는 것을 '암시적 변환'이라 하고, 개발자가 명시적으로 형변환임을 알리는 것을 '명시적 변환'이라고 합니다. * 범위가 작은 데이터 타입에서 그 값을 충분히 담을 수 있는 큰 타입으로 형변환하는 것은 컴파일러가 '암시적 변환(Implicit conversion)'으로 간주해서 오류 없이 컴파일 과정을 완료할 수 있습니다. * 큰 값을 표현할 수 있는 데이터에서 작은 타입으로 대입하는 경우나 숫자와 문자 간 변환은 암시적으로 변환할 수 없고, 명시적으로 변환해야 합니다. * 예약어(Reserved word) 또는 키워드(Keyword)는 C# 언어에서 문법을 표현하기 위해 미리 예약된 단어를 의미합니다. * 식별자(Identifier)는 임의로 선택해서 이름지을 수 있는 단어를 말합니다. * Main 메서드도 결국 Main이라는 이름의 식별자가 포함되어 있으나, 닷넷 응용 프로그램 구조 정의에 따라 반드시 이 메서드가 있어야만 프로그램을 실행할 수 있으므로 변경해서는 안 됩니다. * 식별자의 시작 문자는 숫자로 시작할 수 없고, 반드시 문자여야만 합니다. * 특수 문자 중에서 유일하게 '_' 문자만이 시작 문자로 사용될 수 있습니다. == 예제 코드 == {{{ class Program { static void Main(string[] args) { int number = 0; if (number > 20) { Console.WriteLine("Number is greater than 20."); } else if (number < 20) { Console.WriteLine("Number is less than 20."); } else { Console.WriteLine("Number is equal to 20."); } // Switch - case string text = "C#"; string textConcat = "C#" + "VB.NET"; Console.WriteLine(textConcat); // Output : C#VB.NET switch (text) { case "VB.NET": case "C#": { Console.WriteLine(".NET Compliant Language."); break; } case "Java": { Console.WriteLine("Java"); break; } default: { Console.WriteLine("What is this?"); break; } } // 삼항 연산자. (Conditional Statement) bool isJava = (text == "Java") ? true : false; // While loop int loop = 5; while (loop > 0) { Console.WriteLine("While Loop!"); loop--; } loop = 5; // do-while loop do { Console.WriteLine("Do-While Loop!"); loop--; } while (loop > 0); // for-loop for (int i = 0; i < 40; i++) { Console.WriteLine("For loop!"); } // foreach int[] arr = new int[] { 0, 1, 2, 3 }; foreach (int item in arr) { Console.WriteLine(item); } // multi-dimension array int[,] twoDimArray = new int[2, 3]; twoDimArray[0, 2] = 10; int num = twoDimArray[0, 1]; } } }}} == 덧글 == ----------------------------------------------------------------------- [CS], [CS/5월11일]