본문 바로가기

C#

(14)
[C#] 문자열 배열 분할 Split (char 분할, string 분할, StringSplitOptions) 단일 char 구분자로 문자열 분할 string words = "123,456,789"; string[] split = words.Split(new char[] {','}); foreach(string word in split) System.Console.WriteLine(word); , 를 기준으로 문자열 분할됨. 복수 char 구분자로 문자열 분할 string words = "123,456,789.abc.def.ghi"; string[] split = words.Split(new char[] { ',', '.' }); foreach (string word in split) System.Console.WriteLine(word); , 과 . 를 기준으로 문자열 분할됨. 분할 배열 개수 지정 string..
[C#] 매개변수 배열 (params) class Program { static void Main(string[] args) { Combine("one"); Combine("one", "two"); Combine("one", "two", "three"); Combine("one", "two", "three", "four"); Combine("one", "two", "three", "four", "five"); Combine("one", "two", "three", "four", "five", "six"); } static void Combine(string arg1, params string[] args) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append($..
[C#] in 매개변수 class Program { static void Main(string[] args) { new Lesson(); } } class Lesson { public Lesson() { int num1 = 100; int num2 = 200; print(num1, num2); } // in 매개변수 int public static void print(in int num1, in int num2) { System.Console.WriteLine($"num1 : {num1}, num2 : {num2}"); } } in 1. 매개변수 앞에 in 을 붙여 주면 매개변수 전달 시 값 형식이 아닌 참조 형식으로 전달됨. 2. 매개변수 앞에 in 을 붙여 주면 해당 매개변수는 메소드 내에서 읽기만 가능. 3. 참조에 의한..
[C#] out 매개변수 class Program { static void Main(string[] args) { new Lesson(); } } class Lesson { public Lesson() { string a, b; Init(out a, out b); System.Console.WriteLine($"{a} {b}"); } // out 매개변수 string public static void Init(out string a, out string b) { a = "Good"; b = "Bad"; } } out 키워드 1. 매개변수 앞에 out 를 붙여 주면 매개변수 전달 시 값 형식이 아닌 참조 형식이으로 전달됨 2. 매개변수 앞에 out 를 붙여 주면 전달 된 매개변수는 메소드 내에서 값을 필수적으로 할당해야 함. ex..
[C#] 참조 매개변수 ref class Program { static void Main(string[] args) { new Lesson(); } } class Lesson { public Lesson() { string a = "Good", b = "Bad"; System.Console.WriteLine($"{a} {b}"); Swap(ref a, ref b); System.Console.WriteLine($"{a} {b}"); int c = 0, d = 1; System.Console.WriteLine($"{c} {d}"); Swap(ref c, ref d); System.Console.WriteLine($"{c} {d}"); } // 참조 매개변수 string public static void Swap(ref string a,..
[C#] 파일 삭제 class Lesson { public Lesson() { // 디렉토리 생성 CreateDir(@"C:\TestDir"); // 파일 생성 CreateFile(@"C:\TestDir\File.txt"); // 파일 삭제 DeleteFile(@"C:\TestDir\File.txt"); } // 디렉토리 생성 private void CreateDir(string dirPath) { // 해당 경로에 존재하지 않는 디렉토리들 생성 System.IO.Directory.CreateDirectory(dirPath); } // 파일 생성 private void CreateFile(string filePath) { System.IO.File.Create(filePath).Close(); } // 파일 삭제 priva..
[C#] 폴더 (디렉토리) 삭제 class Lesson { public Lesson() { // 디렉토리 생성 CreateDir(@"C:\TestDir"); // 디렉토리 삭제 DeleteDir(@"C:\MainDir1\SubDir", true); } // 디렉토리 생성 private void CreateDir(string dirPath) { // 해당 경로에 존재하지 않는 디렉토리들 생성 System.IO.Directory.CreateDirectory(dirPath); } // 디렉토리 삭제 private void DeleteDir(string dirPath, bool recursive) { /* * recursive * true 인 경우 : 해당 디렉토리의 하위 디렉토리 및 파일 모두 삭제 * false 인 경우 : 해당 디렉토리만..
[C#] 파일 이동, 이름 변경 class Lesson { public Lesson() { // 디렉토리 생성 CreateDir(@"C:\TestDir"); // 파일 생성 CreateFile(@"C:\TestDir\File1.txt"); // 파일 이름 변경 ModifiedFileName(@"C:\TestDir\File1.txt", @"C:\TestDir\File10.txt"); // 디렉토리 생성 CreateDir(@"C:\MoveDir"); // 파일 이동 ModifiedFileName(@"C:\TestDir\File10.txt", @"C:\MoveDir\File10.txt"); } // 디렉토리 생성 private void CreateDir(string dirPath) { // 해당 경로에 존재하지 않는 디렉토리들 생성 Syst..