//foreach
string[] items = { "506호", "507호" };
foreach (var item in items)
{
Console.WriteLine("포함되어있는 호수는 {0}",item);
}
->
포함되어있는 호수는 506호
포함되어있는 호수는 507호
int[] numbers = { 10, 20, 30, 40, 50 };
int sum = 0;
int avg = 0;
foreach (var item in numbers)
{
sum += item;
}
avg = sum / numbers.Length;
Console.WriteLine(sum);
Console.WriteLine(avg);
->
150
30
int[] scores1 = { 10, 20, 30, 40, 50, 100 };
int[] index = { 0, 1, 2, 3, 4 };
foreach (var item in index)
{
Console.WriteLine(scores1[item]);
}
->
10
20
30
40
50
int[] scores1 = { 10, 20, 30, 40, 50, 100 };
int[] index = { 0, 1, 2, 3, 4 };
int[] scores2 = new int[5];
int i = 0;
foreach (var item in index)
{
Console.WriteLine(item);
}
foreach (var item in index)
{
scores2[i] = scores1[item];
i++;
}
foreach (var item in index)
{
Console.WriteLine(item);
}
->
0
1
2
3
4
0
1
2
3
4
int[,] scores =
{
{ 75, 80, 60},
{ 70, 65, 90}
};
int sum = 0;
int cnt = 0;
foreach (var item in scores)
{
sum += item;
cnt++;
if(cnt > 2)
{
Console.WriteLine(sum / cnt);
sum = 0;
cnt = 0;
}
}
->
71
75
double a = 1.0;
double b = -a;
Console.WriteLine(b);
Console.WriteLine(-a);
->
-1
-1
int a = 20;
int b = 0;
try
{
Console.WriteLine(a/b);
}
catch (DivideByZeroException)
{
Console.WriteLine("0으로 나누려고 시도했습니다.");
}
->
0으로 나누려고 시도했습니다.
Console.WriteLine(true | false);
Console.WriteLine(true & false);
->
True
False
bool Calculated()
{
Console.WriteLine("실행됩니다.");
return true;
}
bool a = true && Calculated();
Console.WriteLine(a);
bool b = false && Calculated();
Console.WriteLine(b);
실행됩니다.
True
False
bool qwe()
{
Console.WriteLine("첫번쨰");
return true;
}
bool asd()
{
Console.WriteLine("두번쨰.");
return true;
}
bool a = true || qwe();
bool b = false || asd();
->
두번쨰.
//int a = 255;
int a = 0b_1111_1111;
Console.WriteLine(Convert.ToString(a, 2));
->
11111111
int a = 0b_0000_0001;
Console.WriteLine(Convert.ToString(a << 7, 2));
-->
10000000
int a = 0b_0000_0001;
Console.WriteLine($"기존 b의 값 : {a}");
Console.WriteLine($"10진법 : {a << 3}");
Console.WriteLine($"2진법 : {Convert.ToString(a << 4, 2)}");
->
기존 b의 값 : 1
10진법 : 8
2진법 : 10000
int x = 10;
Console.WriteLine(x>0 ? "positve" : "negative");
->
positve
//람다연산자 =>
Action<string> greeting = (name) =>
Console.WriteLine($"Hello {name}");
greeting("ALZIO!");
->
Hello ALZIO!
int num = 40;
switch (num)
{
case 10:
Console.WriteLine("값은 10입니다.");
break;
case 20:
Console.WriteLine("값은 20입니다.");
break;
case 30:
Console.WriteLine("값은 30입니다.");
break;
case 40:
Console.WriteLine("값은 40입니다.");
break;
default:
break;
}
->
값은 40입니다.
int number = 5;
switch(number)
{
case > 0 and < 10:
Console.WriteLine("p");
break;
}
->
p
double bmi = 20;
switch(bmi)
{
case < 18.5:
Console.WriteLine("저체중");
break;
case < 23:
Console.WriteLine("저체중");
break;
case < 25:
Console.WriteLine("저체중");
break;
default:
Console.WriteLine("저체중");
break;
}
->
저체중
int num = 10;
for (int i = 0; i < num; i+=2)
{
Console.WriteLine(i);
}
->
0
2
4
6
8
for (int i = 1; i < 100; i++)
{
if(i%6 == 0)
Console.WriteLine(i);
}
->
6
12
18
24
30
36
42
48
54
60
66
72
78
84
90
96
for (int i = 1; i < 100; i++)
{
if((i%4 == 0) && (i%6 == 0))
Console.WriteLine(i);
}
->
12
24
36
48
60
72
84
96
string[] things = { "책", "연필", "서랍" };
for (int i = 0; i < things.Length; i++)
{
if (things[i] == "연필")
{
things[i] = "향수";
}
}
foreach (var item in things)
{
Console.WriteLine(item);
}
->
책
향수
서랍
int i = 0;
while(i<10)
{
Console.WriteLine($"참입니다{i}" );
i++;
}
->
참입니다0
참입니다1
참입니다2
참입니다3
참입니다4
참입니다5
참입니다6
참입니다7
참입니다8
참입니다9
// do - while 문 최초로 한번은 실행해야할 때!
//i가 10이라서 조건이 안맞지만 원래는 조건에의해 실행이안되지만
//최초 실행 한번이 됨!
int num1;
do
{
Console.Write("0이외의 값 입력 : ");
num1 = Convert.ToInt32(Console.ReadLine());
} while (num1==0);
->
0이외의 값 입력 : 0
0이외의 값 입력 : 0
0이외의 값 입력 : 0
0이외의 값 입력 : 4
int i = 0;
while (true)
{
Console.WriteLine(i);
i++;
if (i > 10)
break;
}
->
0
1
2
3
4
5
6
7
8
9
10
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
Console.Write("* ");
}
Console.WriteLine();
}
->
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (j > i)
break;
Console.Write("* ");
}
Console.WriteLine();
}
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < i+1; j++)
{
Console.Write("* ");
}
Console.WriteLine();
}
->
*
* *
* * *
* * * *
* * * * *
3의 배수 제외하고 출력
int sum = 0;
int cnt = 0;
while(cnt < 20)
{
cnt++;
if (cnt % 3 == 0)
continue;
Console.WriteLine(cnt);
}
->
1
2
4
5
7
8
10
11
13
14
16
17
19
20
int sum = 0;
int cnt = 1;
while(cnt <= 5)
{
Console.Write($"값 {cnt} 입력 : ");
int num = Convert.ToInt32(Console.ReadLine());
if (num == 0)
continue;
sum += num;
cnt++;
}
Console.WriteLine($"총합 : {sum}");
->
값 1 입력 : 1
값 2 입력 : 2
값 3 입력 : 3
값 4 입력 : 4
값 5 입력 : 0
값 5 입력 : 0
값 5 입력 : 5
총합 : 15
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (i == 3)
goto Finish;
Console.Write("* ");
}
Console.WriteLine();
}
Finish:
Console.WriteLine("끝났습니다.");
->
* * * * *
* * * * *
* * * * *
끝났습니다.
Random rand = new Random();
int n = rand.Next(1, 6);
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (i == n)
goto Finish;
Console.Write("* ");
}
Console.WriteLine();
}
Finish:
Console.WriteLine($" {n}개 끝났습니다.");
->
* * * * *
* * * * *
* * * * *
* * * * *
4개 끝났습니다.
double x = 25.5;
int a = (int)x;
Console.WriteLine(a);
->
25
string s = "삼백";
try
{
int n = Int32.Parse(s);
Console.WriteLine(n);
}
catch (FormatException)
{
Console.WriteLine($"{s}를 int형으로 변환할 수 없습니다.");
;}
catch(ArgumentNullException)
{
Console.WriteLine($"null를 int형으로 변환할 수 없습니다.");
}
->
삼백를 int형으로 변환할 수 없습니다.
//TryParse : bool값(true/ false)
//Parse : 변환 값 / 에러(try-catch)
string s = " -130";
if(Int32.TryParse(s, out int n))
{
Console.WriteLine(n);
}
else
Console.WriteLine("실패");
->
실패
//Convert.TO(자료형)
//short형 범위 내의 값을 키보드로 입력받고 변환하기
//매 반복마다 계속할지 물어보고 y값 입력 시 계속 반복하기.
//예외처리 : 형식(ㅜㅅ자 입렦?) 오버플로우
short num = 0;
bool flag = true;
while(flag)
{
Console.Write($"{short.MinValue} ~ {short.MaxValue}사이의 값 입력 : ");
string input = Console.ReadLine();
try
{
num = Convert.ToInt16(input);
}
catch (FormatException)
{
Console.WriteLine("숫자만 입력하세요.");
}
catch (OverflowException)
{
Console.WriteLine("Short범위를 초과했습니다.");
}
Console.WriteLine($"입력값 : {num}");
Console.WriteLine("계속할까요? Y / N");
string keep = Console.ReadLine();
if ((keep != "Y") && (keep != "y"))
flag = false;
}
->
-32768 ~ 32767사이의 값 입력 : 4
입력값 : 4
계속할까요? Y / N
Y
-32768 ~ 32767사이의 값 입력 : 4
입력값 : 4
계속할까요? Y / N
N
string s1 = "Hello";
string s2 = "Alzio";
Console.WriteLine("{0} {1}!");
Console.WriteLine("{0} {1}!", s1, s2);
Console.WriteLine("{1}", s1, s2);
Console.WriteLine("{0} {0} {0}", s2, s1);
Console.WriteLine($"{s1} {s2}!");
->
{0} {1}!
Hello Alzio!
Alzio
Alzio Alzio Alzio
Hello Alzio!
int price = 15400;
Console.WriteLine($"Price: {price:C}");
->
Price: \15,400
string pld = "1234";
string pName = "Alzio";
string pTotal = "\\5,000";
Console.WriteLine("00000000-00000000-00000000");
string concat = pld.PadRight(9);
concat += pName.PadRight(8);
concat += pTotal.PadLeft(9);
Console.WriteLine(concat);
->
00000000-00000000-00000000
1234 Alzio \5,000
DateTime date1 = new DateTime(2030,5,24,8,30,25);
Console.WriteLine(date1);
DateTime date2 = date1.Date;
Console.WriteLine(date2);
Console.WriteLine(date1.ToString("yy-MM-dd HH:mm"));
->
2030-05-24 오전 8:30:25
2030-05-24 오전 12:00:00
30-05-24 08:30
using System.Text;
StringBuilder myStringBuilder = new StringBuilder("Hello");
myStringBuilder.Append(" My first SringBuilder");
Console.WriteLine(myStringBuilder);
->
Hello My first SringBuilder
using System.Text;
int num1 = 10;
int num2 = 20;
var test = new StringBuilder();
test.AppendLine("StringBuilder Test");
test.AppendLine("Hello?");
test.AppendLine($"숫자1 : {num1}, 숫자2 : {num2}");
test.Replace('?', '!');
Console.WriteLine(test);
->
StringBuilder Test
Hello!
숫자1 : 10, 숫자2 : 20
int[] arr = { 10, 8, 5, 9 };
Array.Sort(arr);
foreach (var item in arr)
{
Console.Write($" {item}");
}
Console.WriteLine();
Array.Reverse(arr);
foreach (var item in arr)
{
Console.Write($" {item}");
}
->
5 8 9 10
10 9 8 5
string[] ids = { "OB11", "3C14", "5D18", "1A06", "AWW1", "AWW1" , "AWW1" };
Array.Clear(ids,2,3);
foreach (var item in ids)
{
Console.WriteLine($"{item}");
}
->
OB11
3C14
AWW1
AWW1
string[] id = { "OB11", "3C14", "5D18", "1A06", "AWW1", "AWW1" };
int i = 2;
int n = 3;
Array.Clear(id, i, n); //인덱스 i부터 n개 만큼
id[2] = "5C14";
foreach (var item in id)
{
Console.WriteLine($"{item}");
}
->
OB11
3C14
5C14
AWW1
//배열 크기 늘 리기
string[] id = { "OB11", "3C14", "5D18", "1A06", "AWW1", "AWW1" };
Array.Resize(ref id, 10);
id[6] = "1B59";
foreach (var item in id)
{
Console.WriteLine($"{item}");
}
->
OB11
3C14
5D18
1A06
AWW1
AWW1
1B59
string string1 = "abcd1234";
char[] arr = string1.ToCharArray();
foreach (var item in arr)
{
Console.WriteLine($"{item}");
}
->
a
b
c
d
1
2
3
4
var names = new List<string> { "Apple", "Banana", "Cherry"};
names.Add("Mango");
names.Add("Orange");
names.Remove("Banana");
foreach (var item in names)
{
Console.WriteLine(item);
}
var names = new List<string> { "Apple", "Banana", "Cherry"};
names.Add("Mango");
names.Add("Orange");
for (int i = 0; i < names.Count; i++)
{
Console.WriteLine(names[i]);
}
->
Apple
Cherry
Mango
Orange
var names = new List<string> { "Apple", "Banana", "Cherry"};
names.Add("Mango");
names.Add("Orange");
var index = names.IndexOf("Apple");
if(index != -1)
Console.WriteLine($"{names[index]} 의 인덱스 {index}");
else
Console.WriteLine("해당 내용을 찾을 수 없습니다.");
->
Apple 의 인덱스 0
var names = new List<string> { "Banana", "Apple", "Cherry"};
var Sorted_names = new List<string> { };
Sorted_names = names.ToList();
Sorted_names.Sort();
foreach (var item in names)
{
Console.WriteLine(item);
}
Console.WriteLine();
foreach (var item in Sorted_names)
{
Console.WriteLine(item);
}
->
Banana
Apple
Cherry
Apple
Banana
Cherry
var numbers = new List<int> { 100, 200, 300 };
var addList = new List<int> { -50, 70, 80 };
numbers.Insert(1, 150);
numbers.InsertRange(0, addList);
foreach (var item in numbers)
{
Console.WriteLine(item);
}
->
-50
70
80
100
150
200
300
//함수
//반환자료형 함수명(자료형 매개변수)
//{
// ...
//}
int f(int x)
{
return x * 2;
}
int result = f(5);
Console.WriteLine(result);
->
10
// 반환형 X
void Print(string x)
{
Console.Write(x);
}
->
Hello Alzio!
//반환 X 매개변수X
//반환 X 매개변수X
void Enter()
{
Console.WriteLine("\n");
}
Console.Write("hello");
Enter();
Console.Write("great");
Enter();
->
hello
great
// 반환 O, 매개 O
int Multiply(int i, int j)
{
return i * j;
}
int result = 0;
result = Multiply(10, 55);
Console.WriteLine(result);
->
550
//계산기 함수
double Add(double x, double y)
{
return x + y;
}
double Sub(double x, double y)
{
return x - y;
}
double Mul(double x, double y)
{
return x * y;
}
Console.WriteLine(Add(8,2));
->
10
// 인수 전달하기
void Print(int eng, int math)
{
Console.WriteLine($"영어점수는 {eng}, 수학점수는 {math}");
}
Console.WriteLine("영어 점수 : ");
int e = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("수학 점수 : ");
int m = Convert.ToInt32(Console.ReadLine());
Print(e, m);
->
영어 점수 : 100
수학 점수 : 90
영어점수는 100, 수학점수는 90
//매개변수로 ref를 해야 원본 값이 바뀐다!!
void Swap(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
Console.WriteLine($"변경 후 a={a}, b={b}");
}
int a = 10;
int b = 20;
Console.WriteLine($"변경 전 a={a}, b={b}");
Swap(ref a, ref b);
Console.WriteLine($"원본 값 a={a}, b={b}");
->
변경 전 a=10, b=20
변경 후 a=20, b=10
원본 값 a=20, b=10
매개변수로 ref를 안써주면 원본값은 안바뀐고, ref를 적어주면 원본 값이 바뀐다.
//재귀함수
//팩토리얼 5!
Console.WriteLine(Factorial(5));
int Factorial(int n)
{
if (n == 1)
return 1;
else
return n * Factorial(n - 1);
}
->
120
//파보나치
// 1 1 2 3 5 8 13 21 34 55
for (int i = 1; i < 11; i++)
{
Console.Write(Fibonacci(i) + " ");
}
int Fibonacci(int n)
{
if (n == 1 || n == 2)
return 1;
else
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
->
1 1 2 3 5 8 13 21 34 55
//함수 오버로딩
namespace ConsoleApp5
{
class Program
{
static void Print(int a)
{
Console.WriteLine($"숫자는 {a} 입니다.");
}
static void Print(int a,int b)
{
Console.WriteLine($"숫자는 {a},{b} 입니다.");
}
static void Print(string s)
{
Console.WriteLine($"입력내용은 {s} 입니다.");
}
static void Main(string[] args)
{
Print(10);
Print(10,20);
Print("랑방");
}
}
}
->
숫자는 10 입니다.
숫자는 10,20 입니다.
입력내용은 랑방 입니다.
//클래스
var random = new Random();
while (true)
{
int dice_number = random.Next(1, 7);
Console.WriteLine("주사위를 굴리시겠습니까? 1. 예 2. 아니오");
int i = Convert.ToInt32(Console.ReadLine());
if (i == 1)
{
Console.WriteLine($"주사위 값 : {dice_number}");
}
else if (i == 2)
break;
else
{
Console.WriteLine("1 또는 2를 입력하세요.");
Console.WriteLine("---------------------");
}
}
->
주사위를 굴리시겠습니까? 1. 예 2. 아니오
1
주사위 값 : 5
주사위를 굴리시겠습니까? 1. 예 2. 아니오
1
주사위 값 : 2
주사위를 굴리시겠습니까? 1. 예 2. 아니오
1
주사위 값 : 4
주사위를 굴리시겠습니까? 1. 예 2. 아니오
1
주사위 값 : 1
주사위를 굴리시겠습니까? 1. 예 2. 아니오
3
1 또는 2를 입력하세요.
---------------------
주사위를 굴리시겠습니까? 1. 예 2. 아니오
2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Csharp_1
{
internal class MyClass
{
public string name;
public void SetName(string n)
{
name = n;
}
public void Greeting()
{
Console.WriteLine($"Hello {name}!");
}
}
}
using Csharp_1;
MyClass myClass = new();
myClass.SetName("알지오");
myClass.Greeting();
myClass.SetName("Alzio");
myClass.Greeting();
myClass.name = " ";
myClass.Greeting();
->
Hello 알지오!
Hello Alzio!
Hello !
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Csharp_1
{
internal class Member
{
string id = "";
string password = "00000000";
public void NewMember(string i, string p)
{
id = i;
password = p;
}
public void FindPassword(string i)
{
if(i == id)
{
string shortPassword = password.Substring(0,4);
Console.WriteLine($"비밀번호는 {shortPassword}**** 입니다.");
}
else
{
Console.WriteLine("해당 아이디를 찾을 수 없습니다.");
}
}
}
}
using Csharp_1;
Member member = new();
member.NewMember("alzio", "12345678");
member.FindPassword("alzio");
->
비밀번호는 1234**** 입니다.