본문 바로가기

반응형

진리는어디에/C#

(25)
[C#] System.Range Range란? 일반적으로 우리는 배열 연산을 사용할 때 인덱스를 이용하여 배열의 요소 하나에만 접근 했다. 하지만 C# 8.0 부터 Range를 이용해 배열의 여러 요소에 접근 할 수 있는 방법을 제공한다. class Program { static void Main(string[] args) { string s = "ABCDEFGHIJ"; char c = s[2]; // C string s1 = s[2..7]; // CDEFG string s2 = s[2..^3]; // CDEFG Console.WriteLine($"{c}, {s1}, {s2}"); } } 8라인의 배열 접근 연산을 보면 "s[2..7]" 와 같이 낮선 문법이 보인다. 암묵적으로 Range 객체를 생성하는 문법으로써 두 개의 인덱스 사이..
[C#] System.Index 이번 포스트에서는 C# 8.0에서 추가된 인덱스(index)라는 개념에 대해 살펴 보도록 하겠다. 들어가며.. Index에 대한 설명에 앞서 아래 예제를 보자. 특히 10라인에 ^ 기호가 사용 된 부분을 주목하자. using System; class Program { static void Main(string[] args) { int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int n1 = arr[2]; int n2 = arr[^2]; // 뒤에서 부터 접근 Console.WriteLine($"{n1}, {n2}"); // 3, 9 } } 10개짜리 정수 배열을 만들고 인덱스를 이용해 접근하는 간단한 예제다. 먼저 9라인을 보면 인덱스 2의 위치에 있는 요소에 접근한다..
[C#] IL(Intermediate Language) IL(Intermediate Language) 여러분의 PC를 보면 CPU가 있을 것이고 그 위에 운영체제가 설치 되어있을 것이다. 만일 여러분이 C/C++과 같은 언어로 프로그램을 작성한 다음 컴파일 하면 실행가능한 실행 파일. 즉, CPU가 이해하는 기계어 코드로 구성된 실행 파일이 나온다. 이런 실행 파일의 특징은 특정 CPU와 OS에서만 동작하는 실행파일이다. C/C++로 작성된 프로그램의 문제점 특정 환경(예를 들어 인텔 CPU, Windows OS)에서만 동작한다. 다른 환경에서 사용하려면 다시 컴파일 하거나 소스 코드 자체를 다시 작성해야 한다. C#의 경우에는 C# 컴파일러로 컴파일하고 나면 CPU와 OS에 독립적인 기계어 코드가 생성된다. 이것을 중간언어, IL(Intermedidate ..
[C#] IL 디스어셈블러(ildasm.exe) 유틸리티 ildasm.exe란? IL 디스어셈블러(ildasm.exe)는 IL 어셈블러(ilasm.exe)의 자매도구로써 IL코드를 포함하고 있는 포터블 실행 파일(PE)을 이용해 ilasm.exe의 입력에 적합한 텍스트 파일을 생성한다. 다시 말하면, ildasm.exe는 실행 파일 내부의 .NET 기계어 코드(CIL)을 분석해서 클래스 내용을 보여 주는 유틸리티다. 설치 ildasm.exe는 C#을 개발하기 위해 비주얼 스튜디오와 함께 설치 된다. 제대로 설치 되었다면 "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools"에서 확인 할 수 있다(비주얼 스튜디오 2019 기준, 버젼마다 경로가 약간 다를 수 있다). 실행 ildasm..
[C#] 커맨드 라인으로 C# 빌드 Visual Studio에서 C#을 빌드하게 되면 주로 IDE를 통해 빌드 하게 된다(Ctrl + F5). 하지만 젠킨스와 같은 다른 빌드 도구들을 이용하려면 커맨드라인 명령어로 빌드하는 것이 여러모로 편하다. 이번 장에서는 커맨드 라인으로 C#을 빌드하는 방법에 대해 살펴 보도록 하겠다. C# 컴파일러 - csc.exe 커맨드 라인으로 C#을 빌드하기 위해서는 csc.exe를 이용해야 한다. csc.exe는 C#을 개발하기 위해 비주얼 스튜디오를 설치하였다면 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 위치에 자동으로 설치가 되어 있을 것이다. 또는 'Native Tools Command Prompt'를 실행하면 된다. 윈도우 실행창에서 'Native Tools..

반응형