본문 바로가기
반응형

프로그래밍475

C# 괄호 알아보기 괄호 종류 한글 명칭 영어 명칭 () 소괄호 Round Brackets 또는 Parentheses [] 대괄호 Square Brackets 또는 Brackets {} 중괄호 Curly Brackets 또는 Braces 홑화살괄호 Angle Brackets 또는 Chevrons 복합문에서의 중괄호 배치 (들여쓰기 스타일) 중괄호는 사이에 문장이 입력되기 때문에 간격이 많이 벌어지게 됩니다. 그래서 이에 따른 많은 코딩 스타일이 존재하게 됩니다. 중괄호 배치 스타일 while (x == y) { something(); somethingelse(); } Allman while (x == y) { something(); somethingelse(); } K&R while (x == y) { something (.. 2023. 3. 20.
C# 람다(Lambda)에 대해서 람다(Lambda)란? 람다는 무명 메서드(annoymous method)와 비슷하게 무명 함수를 정의하기 위해서 사용된다. 람다는 두 가지 형태 중 하나의 형태를 가진다. 람다식 (Lambda Expression) (parameters) => expression // 람다식으로 작성시 return 문을 생략할 수 있습니다. 람다문 (Lambda Statement) (parameters) => { statements; } // 람다문으로 작성시에는 return 문을 생략할 수 없습니다. => 는 람다 연산자라고 불립니다. Func lambda = parameter => expression; 파라미터가 하나라면 () 괄호를 생략할 수 있습니다. (p1, p2, p3) => expression; 파라미터가 .. 2023. 3. 20.
C# 네이밍 규칙에 대해서 네이밍 종류 카멜 케이스 (Camel case) camelCase 파스칼 케이스 (Pascal case) PascalCase class, record, struct의 이름을 명명할 때 사용된다. 케밥 케이스 (Kebab case) kebab-case 스네이크 케이스 (Snake case) snake_case 정리 보통 코딩 컨벤션에 명시되기 때문에 알아두면 도움이 된다. C# 코딩 규칙 | 마이크로소프트 런 (microsoft.com) 지금 프로젝트의 명명법이 일관되게 적용되고 있는지 생각해보자. 아니면 미래에 프로젝트 시작 시에 어떤 명명법을 사용할지도 생각해 보자 2023. 3. 15.
C# Ceiling(), Floor(), Round(), Truncate() 올림 내림 반올림 버림 어림 함수들 올림, 내림, 반올림, 버림 등등 매번 볼때마다 헷갈린다. 이번 기회에 정리해봤습니다. 함수명 기능 설명 Ceiling() 올림 + 양의 방향으로 올린다. Ceiling(1.2); // 2 Ceiling(-1.7); // -1 Floor() 내림 - 음의 방향으로 내린다. Floor(1.2); // 1 Floor(-1.7); // -2 Round() 반올림 0,1,2,3,4 버림 5,6,7,8,9 올림 Round(1.2); // 1 Round(-1.7); // -2 Truncate() 버림 무조건 버림 Truncate(1.2); // 1 Truncate(-1.7); // -1 정리해봤는데 여전히 헷갈립니다만 여러번 반복해서 보는 것이 중요할 거같습니다. 2023. 3. 14.
C# 대리자(Delegate)에 대해서 대리자(Delegate)란? 특정 매개 변수 목록과 반환 형식이 있는 매서드에 대한 참조를 나타내는 형식 대리자를 인스턴스화할 때 호환되는 매개변수 및 반환 형식을 가지는 모든 메서드와 연결할 수 있다. 대리자(Delegate)의 속성 대리자는 C++ 함수 포인터와 유사하지만 C++ 함수 포인터와 달리 멤버 함수에 대해 완전히 객체 지향이다. delegate는 인스턴스 및 메서드를 모두 캡슐화한다. 대리자를 통해 메서드를 매개 변수로 전달할 수 있다. 대리자를 사용하여 콜백 메서드를 정의할 수 있다. 여러 대리자를 연결할 수 있다. 예를 들어 단일 이벤트에 대해 여러 메서드를 호출 할 수 있따. 메서드는 대리자 형식과 정확히 일치하지 않아도 된다. 자세한 내용은 대리자의 가변성 사용을 참조 람다 식은 인.. 2023. 3. 13.
Elo를 적용해서 레이팅 포인트 계산하는 예제 예상 승률을 계산하는 공식 여기서 400은 매직 넘버로 각자의 상황에 따라서 조절이 가능한 값이다. 보통 K 상수라고 불리운다. LiveRating을 계산하는 공식 예시 코드 double myK = 400; // 매직 넘버 K 상수 double e = (oppositeScore - myScore) / myK; double winRate = 1 / (Math.Pow(10, e) + 1); var winRateMin = 0.0; var winRateMax = 0.0; // winRate 최소값이 0.0이 아니면 최소값으로 보정해준다 if (winRateMin != 0.0) { winRate = Math.Max(winRateMin, winRate); } // winRate 최대값이 0.0이 아니면 최대값으로 .. 2023. 3. 13.