본문 바로가기

c#109

C# Substring 복습하기 Substring(int32) 문자열에서 부분 문자열을 검색한다. 부분 문자열로 지정된 문자 위치에서 시작하고 문자열 끝까지 계속된다. public string Substring (int startIndex); 매개 변수 startIndex substring에 있는 0부터 시작하는 문자 위치 Substring(int32, int32) 문자열에서 부분 문자열을 검색한다. 부분 문자열은 지정된 문자 위치에서 시작하고 길이를 지정한다. public string Substring (int startIndex, int length); *이 메서드는 현재 instance 값을 수정하지 않고 startIndex length로 지정된 새 문자열을 반환합니다. 매개 변수 startIndex substring에 있는 0부.. 2023. 9. 20.
C# Math.Sqrt(Double) vs Math.Pow(Double, Double) Math.Sqrt() 네임스페이스: System 어셈블리: System.Runtime.dll 지정된 숫자의 제곱근을 반환합니다. public static double Sqrt (double d); d Double 제곱근을 구할 숫자 예제 코드 class Program { static void Main(string[] args) { Console.WriteLine($"제곱근 : {Math.Sqrt(9)}"); // 제곱근 : 3 } } Math.Pow() 네임스페이스: System 어셈블리: System.Runtime.dll 지정된 숫자의 지정된 거듭제곱을 반환한다. public static double Pow(double x, double y); x Double 거듭제곱할 배정밀도 부동 소수점 숫자입니다.. 2023. 8. 28.
Environment.TickCount Environment.TickCount 이란? 시스템 시작 이후 경과 시간(밀리초)을 가져온다. 네임스페이스: System 어셈블리: System.Runtime.dll public static int TickCount { get; } 컴퓨터가 마지막으로 시작된 이후 경과된 시간(밀리초)을 포함하는 부호 있는 32비트 정수이다. 예제 코드 // Sample for the Environment.TickCount property. // TickCount cycles between Int32.MinValue, which is a negative // number, and Int32.MaxValue once every 49.8 days. This sample // removes the sign bit to yie.. 2023. 8. 24.
C# 인터페이스 이해하기 인터페이스(Interface) 인터페이스는 추상화를 달성하고 객체가 서로 상호 작용할 수 있도록 하는 강력한 도구이다. 클래스가 구현해야 하는 메서드, 속성 및 이벤트의 집합을 정의하지만 이에 대한 구현은 제공하지 않는다. 이를 통해 코드의 유연성과 재사용성을 높인다. 소프트웨어 개발의 추상화는 시스템의 다른 부분에서 구현의 세부 사항을 숨기는 프로세스이며 이는 복잡성을 줄이고 개발자가 모든 세부 사항을 이해할 필요 없이 동일한 코드베이스에서 작업할 수 있도록 하기 위함이다. 또한 추상화를 통해 개발자는 구현 세부 정보 대신 기능에 집중할 수 있게 된다. 인터페이스란 무엇인가? 인터페이스는 클래스처럼 보이지만 구현이 없다. 여기에는 이벤트, 인덱서, 메서드 또는 속성의 선언만 포함된다. 인터페이스가 선언.. 2023. 8. 3.
C# Closure 이해하기 C# Closure Closure는 C# 2.0부터 지원된 기능으로서 C#의 무명메서드(Anonymous Method)와 람다식(Lambda Expression)으로 구현할 수 있다. 먼저 간단히 무명메서드를 이용하여 Closure를 사용한 예를 살펴보자. 다음은 간단한 무명메서드를 정의하여 print라는 델리게이트 객체에 할당한 예이다. 여기서 정의된 delegate 블록은 작은 함수라 볼 수 있는데, 이 함수는 단순히 콘솔 출력 문장 하나로 되어 있다. 이것이 Closure가 아니다. public void Test2() { Action print = delegate (string msg) { Console.WriteLine(msg); }; print("A"); } 이제 한걸음 더 나아가 Test() .. 2023. 8. 2.
C# 무명 메서드(Anonymous Method) 무명 메서드(Anonymous method) C# 2.0에서부터 메서드를 미리 정의하지 않아도 되는 메서드명이 없는 무명 메서드(혹은 익명 메서드, Anonymous Method)를 지원하게 되었다. 만약 어떤 메서드가 일회용으로 단순한 문장들로 구성되어 있다면, 굳이 별도의 메서드를 정의하지 않아도 되는 것이다. 무명 메서드를 만들기 위해서는 delegate 키워드와 함께 아래와 같이 파라미터와 실행 문장 블록을 적으면 된다. delegate 뒤의 파라미터는 해당 메서드 원형(prototype)에 맞는 동일한 파라미터 타입이어야 하며, 실행 문장블록에는 여러 문장들을 쓸 수 있다. 무명 메서드는 외관상 인라인 메서드(inline method) 형식을 띠며, 무명 메서드 자체를 delegate 타입의 변.. 2023. 8. 2.