본문 바로가기
반응형

프로그래밍/C#117

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.
C# 상속 관련 키워드 정리 상속 관련 키워드 일반 클래스 (class) 추상 클래스 (abstract class) 인터페이스 (interface) 일반 클래스의 경우 class Animal { public void Speak() { Console.WriteLine("I`m Animal."); } } class Dog : Animal { public void Speak() // CS0108 { Console.WriteLine("I`m Dog."); } } class Program { static void Main(string[] args) { var dog = new Dog(); dog.Speak(); // I`m Dog. ((Animal)dog).Speak(); // I`m Animal. } } Speak() 함수를 virtual.. 2023. 2. 27.
C# 숫자 서식 지정자(Number Format Specifier) 표준 출력 형식의 문법 {n,w:tp} 예시 : {0,10:N2} 키워드 명칭 n 인자 Argument w 출력 범위 Width t 데이타 타입 Data Type p 정확도 Precision decimal val = 1234.5678M; string s = string.Format("{0,10:N2}", val); // 출력: " 1,234.57" Console.WriteLine(s); {0,10:N2} : 첫 번째 인자인 val을 받아서 전체 넓이 10으로 앞의 공백 포함 10자리 표현하고 N(Numberic) 형식으로 표현된다. 소수점 이하는 2자리까지 표시한다. 표준 숫자 서식 문자열 (Standard numeric format strings) static void Main(string[] args.. 2023. 2. 21.
C# 커맨드 라인(CommandLine) 파싱 라이브러리 소개 커맨드 라인 라이브러리 소개 보통 툴이나 프로그램을 만들면 유아이가 별도로 없다면 입력인자로 받아서 여러 처리를 진행하게 됩니다. 이때 있으면 유용한 라이브러리가 커맨드라인 파싱 라이브러리입니다. 이번에 제가 알게된 라이브러리는 Mono.Options라는 이름의 라이브러리입니다. 라이브러리 링크로 이동 작고 가볍고 생각보다 기능이 많은거같아서 잠깐 써보았는데 벌써 마음에 들었습니다. 거의 대부분의 .Net 플렛폼에서 호환 가능 Full .NET Framework 4.0+ (Client Profile) .NET Core 1.0 .NET Standard 1.6+ Portable Class Libraries (Profile 259) 설치 방법 비주얼 스튜디오 누겟(Nuget)으로 설치 혹은 PM> Instal.. 2023. 2. 17.
C# 이스케이프 시퀀스(Escape sequence) 문자열 종류 " " : 따옴표 붙은 문자열 리터럴 (Quoted string literals) @" " : 축자 문자열 리터럴 (Verbatim string literals) """ """ : 원시 문자열 리터럴 (Raw string literals) *C# 11부터 사용 가능 // Initialize with a regular string literal. string oldPath = "c:\\Program Files\\Microsoft Visual Studio 8.0"; // Initialize with a verbatim string literal. // verbatim string is one that does not need to be escaped, like a filename string n.. 2023. 2. 14.