C sharp(C#) 알아보기 2장 - 제어문, 자료구조
앞서서
이번시간에는 1장에 이어 C# 의 제어문과 자료구조를 간단하게 살펴보자. 뭔가 전체적인 느낌이 자바랑 굉장히 비슷한 것 같기도 하고..
Branching, Ifs, Conditional logic
1
2
3
4
5
6
7
if(조건:bool) statement // 하나의 실행문은 bracket없이 attach 가능
if(조건:bool) {
statement1
statement2
statement3
...
}
- bool
- Represents a Boolean (true or false) value.
1
2
3
4
5
6
7
8
9
10
int a = 5;
int b = 5;
bool myTest = (a + b) > 10;
if (myTest || ((a + b) == 10)) {
Console.WriteLine("The answer is greater equal than 10.");
} else {
Console.WriteLine("The answer is less than 10.");
}
C sharp의 논리 연산자는 어떤게 있을까?
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/boolean-logical-operators
Branching and Loops
while
1
2
3
4
5
6
7
8
9
10
11
int counter = 0;
while (counter < 5) {
Console.WriteLine(++counter);
}
counter = 0;
do {
Console.WriteLine(++counter);
} while (counter < 5);
for
1
2
3
for (int i = 0; i < 5; i++) {
Console.WriteLine(i);
}
List of T and Collections of Data
List
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var names = new List<string>(["Hyechan", "Ana", "Felipe"]);
names.Add("David");
names.Add("Damian");
names.Add("Maria");
Console.WriteLine(names[0]);
Console.WriteLine(names[2]);
Console.WriteLine(names[names.Count - 1]);
Console.WriteLine(names[^1]);
foreach (var name in names[1..^1]) {
Console.WriteLine($"Hello {name.ToUpper()}!");
}
인스턴스 생성법들
var names = new List<string>{"Hyechan", "Ana", "Felipe"};
var names = new List<string>(["Hyechan", "Ana", "Felipe"]);
List<string> names = ["Hyechan", "Ana", "Felipe"];
- 이것도 돼?
var names = new List<string>(["Hyechan", "Ana", "Felipe"]){ "David", "Damian", "Maria" };
- var
- Local Variable Type Inference.
var
를 사용하고 반대편의 내용을 C# 이 무엇인지 알 수 있으면 infer 해준다.(타입추론) - foreach
- 리스트의 요소들은 하나씩 사용한다.
Array
대부분의 언어에서 사용되는 primitive type. 어떤 요소 리스트를 저장하기 위해 사용.
1
2
3
4
5
var names = new string[] { "Hyechan", "Ana", "Felipe" };
foreach (var name in names) {
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Arrays are fixed in length!
Array의 길이는 고정이기 때문에, 크기 확장을 위해선 확장된 크기의 새로운 Array를 만들고 기존 값들을 넣어야 한다.
C# 12버전(2023.11.18)부터 훨씬 간단한 방법을 사용 가능하다.
1
2
3
4
5
6
7
var names = new string[] { "Hyechan", "Ana", "Felipe" };
names = [..names, "Damian"];
foreach (var name in names) {
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Sorting, Searching
1
2
3
4
5
6
7
8
9
var numbers = new List<int>{ 45, 56, 99, 48, 67, 78 };
Console.WriteLine($"I found 99 at index {numbers.IndexOf(99)}");
numbers.Sort();
Console.WriteLine($"I found 99 at index {numbers.IndexOf(99)}");
foreach (var number in numbers) {
Console.WriteLine($"{number}");
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.