참고 책 : 시작하세요! C#10 프로그래밍!
C# 도 java 같이, 중간언어로 컴파일을 했다가 jvm 같은 dotnet runtime 이 실행을 해주는 구조 이다.
C# 소스 -> 빌드 -> CLR 로더가 중간언어(IL Code)를 실행 이게 exe 파일로 묶여 있음
CLR : Common Language Runtime (가상머신 역할 == java 의 jvm )
IL : Intermediate Language ( 보통 아래의 CIL 을 줄여서 IL 코드로 부른다. )
CIL : Common Intermediate Language 공통 중간언어 ( java 의 바이트코드 - 언밀히 말하면 같지는 않은듯! )
CTS : Common Type System (공통 타입시스템 : 닷넷 호환언어가 지켜야하는 타입 의 표준 )
* 닷넷 역사
(구)닷넷 프레임워크 4.8이 마지막 버전 임
이후, 닷넷코어가 두둥등장! 3.0 까지 나옴
2020년 11월10일 위 2개를 하나로 묶으면서 .NET 5 가 나옴
2021 .NET 6 (C# 10 )
2022 .NET 7 (C# 11 ) <-- 이거 기준으로 공부 예정!
2023 .NET 8 (C# 12 )
숫자 타입 중, decimal을 쓸 수 있다. (16바이트 , float: 4바이트, double: 8바이트 )
@문자열로 이스케이프 문자열을 일반문자열로 포함이 가능하다.
ex)
string text = @"\tHello\nWorld";
배열선언
int [] products = new int[5] {1,2,3,4,5};
int [] products = new int[] {1,2,3,4,5}; //갯수 생략 가능
다차원 배열
int [,] arr = new int[10,5];
short [,,] arr = new short[8,3,10];
int [][] arr = new int[5][]; //가변 배열 선언
foreach 문 가능
int [] arr = new int[] {1,2,3,4,5};
foreach (int elem in arr )
{
Console.WriteLine(elem)
}
문법정리를 위한 연습문제 1
10보다 작은 자연수 중에서 3 또는 5의 배수는 3,5,6,9 이고, 이것을 모두 더하면 23 입니다. 1000보다 작은 자연수 중에서 3또는 5의 배수를 모두 더하면 얼마 일까요?
233168
int sum = 0;
3
4 for(int i=1;i<1000;i++)
5 {
6 if(i%3 == 0 || i%5 == 0 )
7 {
8 sum += i;
9 }
10 }
11
12 Console.WriteLine(sum);