
문자열
코드를 드래그하고
Ctrl + K, Ctrl + C: 주석 처리
Ctrl + K, Ctrl + U: 주석 해제
Ctrl + K. Ctrl + D: 자동 정렬
초기화하는 값의 자료형에 따라 변수의 자료형이 결정
변수를 사용하는 시점에서 변수의 자료형을 정확히 알 수 없는 경우 유용하게 사용
ex)
var num = 10; // int 자료형으로 결정됨
var name = "kero"; // string 자료형으로 결정됨
var pi = 3.141592; // double 자료형으로 결정됨
string str = "Hello, World!";
string[] words = str.Split(','); // ,를 기준으로 분할 후 배열에 저장
Console.WriteLine(words[0]);
Console.WriteLine(words[1]);
출력
Hello
World! // ,기준이라 띄어쓰기도 포함
string str = "Hello, World!";
int index = str.IndexOf("World"); // World의 첫 번째 인덱스(첫 글자)가 몇 번째 위치에 있는지 알려줌
Console.WriteLine(index);
출력
7 // 0부터 세기 시작 -> W는 7번째에 있다.
string str = "Hello, World!";
string newStr = str.Replace("World", "Universe"); // Wolrd대신 Universe로 대체되어서 출력
Console.WriteLine(newStr);
출력
Hello, Universe!
string str5 = "123"; // 문자형 123
int num = int.Parse(str5); // 숫자형으로 전환
Console.WriteLine(num); // 숫자형 123
num += 10;
Console.WriteLine(num.ToString()); // 문자형으로 전환 후 출력
Console.WriteLine(str1 == str2); // Hello 와 World!는 다르다
Console.WriteLine(string.Compare(str1, str2)); // 문자열 대소 비교
// compare = -1 -> str1 < str2
0 -> str1 == str2
1 -> str1 > str2
// 아무 옵션도 설정하지 않고 비교하는 경우
문자열을 사전식으로 비교하며 대소문자를 구분
즉, ‘A’는 ‘a’보다 작다.
출력
123
133
False
-1
Console.WriteLine(num.ToString());
Console.WriteLine(str1 == str2);
Console.WriteLine(string.Compare(str1, str2));
string name = "John";
int age = 30;
// 2가지 방법으로 출력 가능
//형식화 (Format)
string message = string.Format("My name is {0} and I'm {1} years old.", name, age);
Console.WriteLine(message);
//문자열 보간 ($)
message = $"My name is {name} and I'm {age} years old.";
Console.WriteLine(message);
출력
My name is Jone and I'm 30 years old.
My name is Jone and I'm 30 years old.
double BMI = weight / (Math.Pow(height,2)); // BMI = 몸무게(kg) / (키(m)^2)
// 자료형이 double이어야 함
char alpha = Console.ReadLine()[0]; // 문자열에서 0번째 문자를 가져와라
반복문
for (int i = 0; i < 10; i++) // i가 1씩 증가
for (int i = 0; i < 10; i += 2) // i가 2씩 증가
while (true) // 항상 참이니 무한 루프 , for(;;) -> 무한 루프
for (int i = 1; i <= 10; i++)
{
if (i % 3 == 0)
{
continue; // 3의 배수인 경우 다음 숫자로 넘어감
}
Console.WriteLine(i);
if (i == 7)
{
break; // 7이 출력된 이후에는 반복문을 빠져나감
}
}
출력
1
2
4
5
7
배열
Random random = new Random(); // 랜덤 객체 생성
int sum = 0;
double average = (double)sum / scores.Length; // sum앞에 (double)을 붙여 double 자료형으로 바꿈
(공용 문장)int[,] array3 = new int[2,3]; // 2행 3열의 int형 2차원 배열 선언
array3[0,0] = 1; // 초기화
array3[0,1] = 2;
array3[0,2] = 3; {1, 2, 3},
array3[1,0] = 4; -> {4, 5, 6}
array3[1,1] = 5;
array3[1,2] = 6;
-------------------------------------------------
static void Main(string[] args)
{
int[,] map = new int[5, 5]
{
{ 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 1 },
{ 1, 0, 1, 0, 1 },
{ 1, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1 }
};
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (map[i, j] == 1)
{
Console.Write("■ ");
}
else
{
Console.Write("□ ");
}
}
Console.WriteLine();
}
}
출력
■ ■ ■ ■ ■
■ □ □ □ ■
■ □ ■ □ ■
■ □ □ □ ■
■ ■ ■ ■ ■
List<int> numbers = new List<int>(); // 빈 리스트 생성
numbers.Add(1); // 리스트에 데이터 추가
numbers.Add(2);
numbers.Add(3);
numbers.Remove(2); // 리스트에서 데이터 삭제
출력하는 방법 2가지
1.
for (int i = 0; i < numbers.Count; i++)
{
Console.WriteLine(numbers[i]);
}
2.
foreach(int number in numbers) // 리스트 데이터를 순서대로 하나씩 출력
{
Console.WriteLine(number);
}
1, 2번 출력
1
3
메서드와 구조체
//1) 매개변수의 개념과 활용
static void PrintFullName(string firstName, string lastName)
{
Console.WriteLine("Full Name: " + firstName + " " + lastName);
}
// 메서드 호출
static void Main(string[] args)
{
PrintFullName("John", "Doe");
}
출력
Full Name: John Doe
//2) 반환값의 개념과 활용
static int AddNumbers(int a, int b) // 반환값은 메서드의 리턴 타입에 지정되며, 해당 타입의 값을 반환
{
int sum = a + b;
return sum;
}
static void Main(string[] args)
{
// 메서드 호출 및 반환값 사용
int result = AddNumbers(10, 20);
Console.WriteLine("Sum: " + result);
}
출력
Sum: 30
static int AddNumbers(int a, int b)
{
return a + b;
}
static int AddNumbers(int a, int b, int c)
{
return a + b + c;
}
static void Main(string[] args)
{
// 메서드 호출
int sum1 = AddNumbers(10, 20); // 두 개의 정수 매개변수를 가진 메서드 호출
int sum2 = AddNumbers(10, 20, 30); // 세 개의 정수 매개변수를 가진 메서드 호출
Console.WriteLine(sum1); // 출력
Console.WriteLine(sum2);
}
출력
30
60
static void CountDown(int n)
{
if (n <= 0)
{
Console.WriteLine("Done");
}
else
{
Console.WriteLine(n);
CountDown(n - 1); // 자기 자신을 호출 , 여기서 반복
}
}
static void Main(string[] args)
{
// 메서드 호출
CountDown(5);
}
출력
5
4
3
2
1
Done
struct 키워드를 사용하여 선언struct Person
{
public string Name;
public int Age;
public void PrintInfo()
{
Console.WriteLine($"Name: {Name}, Age: {Age}");
}
}
static void Main(string[] args)
{
Person person1; // int a; 같은 느낌
person1.Name = "John";
person1.Age = 25;
person1.PrintInfo();
}
출력
Name: John, Age: 25