Difference between r1.1 and the current
@@ -1,4 +1,4 @@
[[TableOfContest]]
[[TableOfContents]]
== 개요 ==
* 미처 스터디 시간에 전달하지 못한 내용을 정리한 페이지입니다.
@@ -34,13 +34,103 @@
* 큰 값을 표현할 수 있는 데이터에서 작은 타입으로 대입하는 경우나 숫자와 문자 간 변환은 암시적으로 변환할 수 없고, 명시적으로 변환해야 합니다.
* 예약어(Reserved word) 또는 키워드(Keyword)는 C# 언어에서 문법을 표현하기 위해 미리 예약된 단어를 의미합니다.
* Main 메서드도 결국 Main이라는 이름의 식별자가 포함되어 있으나, 닷넷 응용 프로그램 구조 정의에 따라 반드시 이 메서드가 있어야만 프로그램을 실행할 수 있으므로 변경해서는 안 됩니다.
* 식별자의 시작 문자는 숫자로 시작할 수 없고, 반드시 문자여야만 합니다.
* 특수 문자 중에서 유일하게 '_' 문자만이 시작 문자로 사용될 수 있습니다.
== 덧글 ==
-----------------------------------------------------------------------
* 예약어(Reserved word) 또는 키워드(Keyword)는 C# 언어에서 문법을 표현하기 위해 미리 예약된 단어를 의미합니다.
* 식별자(Identifier)는 임의로 선택해서 이름지을 수 있는 단어를 말한다.
* 식별자(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];
}
}
}}}
-----------------------------------------------------------------------
2. 내용 ¶
- 닷넷 응용 프로그램은 기존의 모든 윈도우 응용 프로그램에 대응해서 만들 수 있습니다.
- 웹 응용 프로그램의 경우 ASP는 ASP.NET에 대응됩니다.
- 콘솔 응용 프로그램의 경우 Win32 Console은 Console에 대응됩니다.
- 윈도우 응용 프로그램의 경우 Win32 Windows, MFC는 Windows Forms, WPF에 대응됩니다.
- COM+ 응용 프로그램의 경우 COM+가 Enterprise Services에 대응됩니다.
- 윈도우 서비스의 경우 NT 서비스가 윈도우 서비스에 대응됩니다.
- 웹 응용 프로그램의 경우 ASP는 ASP.NET에 대응됩니다.
- 유니코드(Unicode)는 다국어 지원을 위한 문자 집합입니다. 전 세계의 모든 문자를 표현하기 위해 설계된 산업 표준으로, 프로그램을 유니코드 기반으로 만들면 운영체제의 언어 설정에 상관없이 동일한 문자를 출력할 수 있습니다.
- 물론, 대상 운영체제에 유니코드에 대응되는 폰트(Font)가 설치되어 있어야합니다.
- 물론, 대상 운영체제에 유니코드에 대응되는 폰트(Font)가 설치되어 있어야합니다.
- 콘솔에 메시지를 출력하려면 다음의 메서드를 사용합니다. 인자는 문자열, 정수형, 실수형, 논리형 무엇이든 올 수 있습니다.
- Console.Write은 개행이 없는 버전입니다.
- Console.WriteLine은 개행이 있는 버전입니다.
- Console.Write은 개행이 없는 버전입니다.
- string 타입은 '+' 연산자를 제공하기 때문에, 문자열을 서로 연결할 수 있습니다.
- ex) string s = "Hello" + "World"; // s는 HelloWorld
- ex) string s = "Hello" + "World"; // s는 HelloWorld
- switch 문에서 default는 C#에서도 강제 사항은 아닙니다.
- C#에서도 복합 대입 연산자인 '+=', '-=', '*=', '/=', '%='를 제공합니다.
- 컴파일러가 값을 컴파일 시에 계산할 수 있는 상수 표현식이면 상수에 대입할 수 있습니다.
- 변수끼리 대입을 했을 때 값 형식은 각각 다른 위치에 동일한 값이 복사되어 개별 값을 가리키는 반면에, 참조 형식은 힙 메모리에 하나의 값만 위치한 상태에서 스택의 변수 값이 같은 힙 위치를 가리키게 됩니다.
- 각 자료형은 서로 변환하는 것이 가능합니다. 부가적인 코드를 지정하지 않고 자연스럽게 형변환(Type Conversion)되는 것을 '암시적 변환'이라 하고, 개발자가 명시적으로 형변환임을 알리는 것을 '명시적 변환'이라고 합니다.
- 범위가 작은 데이터 타입에서 그 값을 충분히 담을 수 있는 큰 타입으로 형변환하는 것은 컴파일러가 '암시적 변환(Implicit conversion)'으로 간주해서 오류 없이 컴파일 과정을 완료할 수 있습니다.
- 큰 값을 표현할 수 있는 데이터에서 작은 타입으로 대입하는 경우나 숫자와 문자 간 변환은 암시적으로 변환할 수 없고, 명시적으로 변환해야 합니다.
- 예약어(Reserved word) 또는 키워드(Keyword)는 C# 언어에서 문법을 표현하기 위해 미리 예약된 단어를 의미합니다.
- 식별자(Identifier)는 임의로 선택해서 이름지을 수 있는 단어를 말합니다.
- Main 메서드도 결국 Main이라는 이름의 식별자가 포함되어 있으나, 닷넷 응용 프로그램 구조 정의에 따라 반드시 이 메서드가 있어야만 프로그램을 실행할 수 있으므로 변경해서는 안 됩니다.
- 식별자의 시작 문자는 숫자로 시작할 수 없고, 반드시 문자여야만 합니다.
- 특수 문자 중에서 유일하게 '_' 문자만이 시작 문자로 사용될 수 있습니다.
3. 예제 코드 ¶
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]; } }