내일배움캠프/TIL

[내배캠][Unity6기][TIL] C# 문법 종합 강의 2주차 / C# 체크리스트

binary는 호남선 2024. 9. 20. 22:54

Preview

- 문자 1개 입력받기
-- ReadLine()
-- ReadKey()

- C# 체크리스트
-- Mathf.Approximately()
-- 디폴트 매개변수


 

문자 1개 입력받기

ReadLine()

- 원래 한 줄의 문자열을 입력받는 함수

- 문자열의 첫번째 인덱스만 받으면 가장 처음 입력한 문자만 입력됨

ReadKey()

- 사용자가 입력한 키의 정보를 ConsoleKeyInfo로 반환

char input1 = Console.ReadLine()[0];
ConsoleKeyInfo input2 = Console.ReadKey();

Console.WriteLine(input1);
Console.WriteLine(input2.KeyChar);
[ 입력 ]
abc
d
[ 출력 ]
a
d                                                                                            

참고 : https://learn.microsoft.com/ko-kr/dotnet/api/system.consolekeyinfo?view=net-7.0

https://learn.microsoft.com/ko-kr/dotnet/api/system.console.readkey?view=net-7.0


09.19 C# 체크리스트

주제 : 변수와 자료형(송지원 튜터님)

 

- 팀플에서 프레임워크 버전 통일하기, .NET 6.0을 권장

- 주석은 필요한 부분만 간결하게, 너무 길다싶으면 region으로 묶어 접기

 

[ 용어 정리 ]

필드 : 클래스 내에 정의된 변수

메소드 : 클래스 내에 정의된 함수

 

Mathf.Approximately()

public static bool Approximately(float a, float b);

- 인자로 들어온 두 변수가 근사값이면 true, 아니면 false를 반환

- 소수점 연산의 정밀도를 보완

// 실행 x. 0.1f + 0.6f가 정확히 0.7f 가 아님
// 컴파일러 차원에서 탐지가 되긴함
// Warning[CS0162] : 접근할 수 없는 코드가 있습니다
if (0.7f == (0.1f + 0.6f))
{
    Debug.Log("The values are the same");
}
// 실행 o. 0.1f + 0.6f의 결과가 0.7f의 근사값
if (Mathf.Approximately(0.7f, 0.1f + 0.6f))
{
    Debug.Log("The values are approximately the same");
}

※ 실수형은 상등 비교 금지!!!


09.20 C# 체크리스트

주제 : 메서드(권관우 튜터님)

디폴트 매개변수 (Default Parameter)

- 함수 정의에 미리 매개변수의 값을 지정

- 해당 매개변수 순서에 아무 값도 인자로 넘기지 않으면 디폴트 값으로 설정

- 반드시 끝자리부터 지정 가능 (for 명확성, 데이터 덮어쓰기 방지)

- :(콜론)을 사용해 인자 값을 변경할 수 있음

static public void ExampleMethod(int required, string optionalstr = "default string",int optionalint = 10)
{

}
static void Main(string[] args)
{
    // ERR[CS0839] : 인수 없음
    ExampleMethod(3, ,4);
    // required : 3, optionalstr : default string, optionalint : 4
    ExampleMethod(3, optionalint: 4);
}

참고 : https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments#optional-arguments