C#/배열13 [C#]두 배열을 합치는 방법 두 배열을 합치는 방법 이번 포스팅은 C#에서 두 배열을 연결하여 새로운 배열을 만드는 몇 가지 방법을 소개합니다. 방법 1. 반복문 가장 심플한 방법으로 반복문을 사용할 수 있습니다. [합치는 방법] 순서 1. 두 배열의 길이를 더한 값을 새로운 배열의 크기로 설정하여 새로운 배열을 생성합니다. 순서 2. 첫 번째 배열을 순회하여 새로운 배열에 값을 추가합니다. 순서 3. 두 번째 배열을 순회하여 새로운 배열에 값을 추가합니다. 다음 예제는 반복문을 사용하여 두 배열이 합쳐진 새로운 배열을 생성합니다. class Program { static void Main(string[] args) { int[] intArray1 = { 0, 10, 20 }; int[] intArray2 = { 30, 40, 50.. C#/배열 2022. 9. 14. [C#]배열의 크기를 변경하는 방법 배열의 크기를 변경하는 방법 C#에서 배열은 선언과 동시에 고정된 크기를 가지는 데이터입니다. 따라서, 배열의 크기를 벗어난 인덱스에 접근하는 경우 다음 예시처럼 IndexOutOfRangeException이 발생합니다. class Program { static void Main(string[] args) { int[] intArray = new int[3]; intArray[4] = 40; } } [에러 내용] 배열의 크기를 벗어난 인덱스에 접근하기 위해서는 배열의 크기를 변경해야 하며, 배열의 기존 데이터는 보존되어야 합니다. 배열을 새로운 배열로 할당하여 배열의 크기를 변경할 수 있지만, 이 방법은 기존 데이터가 보존되지 않는다는 문제점이 존재합니다. class Program { static voi.. C#/배열 2022. 9. 13. [C#]배열 콘솔에 출력하는 방법 배열 콘솔에 출력하는 방법 이번 포스팅은 C#에서 배열의 값을 콘솔에 출력하는 몇 가지 방법을 소개합니다. 방법 1. 반복문 첫 번째 방법으로 반복문을 사용하여 배열의 요소를 콘솔에 출력할 수 있습니다. 다음 예제는 foreach문을 사용하여 int 타입의 배열을 콘솔에 출력합니다. class Program { static void Main(string[] args) { int[] intArray = { 0, 10, 20, 30, 40, 50, 60, 70 }; foreach(int num in intArray) { Console.WriteLine(num); } } } [실행 결과] 0 10 20 30 40 50 60 70 Console.WriteLine() 메서드를 사용하면, 배열의 요소가 한 줄씩 출.. C#/배열 2022. 9. 1. [C#]배열 특정 인덱스부터 자르는 방법 배열 특정 인덱스부터 자르는 방법 이번 포스팅은 C#에서 특정 인덱스부터 배열을 자르는 몇 가지 방법을 소개합니다. 방법 1. Array 클래스의 Copy 메서드 Array 클래스에서 제공하는 Copy() 메서드를 사용하여 배열 인덱스 범위에 해당하는 값을 다른 배열에 할당할 수 있습니다. public static void Copy( Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length); Copy() 메서드는 원본 배열(sourceArray)의 특정 위치(sourceIndex)부터 특정 개수(length)의 요소를 새로운 배열(destinationArray)의 특정 위치(destination.. C#/배열 2022. 9. 1. [C#]배열 마지막 요소 제거하는 방법 배열 마지막 요소 제거하는 방법 배열은 크기가 고정되어 있으므로 C#에서 배열의 마지막 요소를 제거할 수 없습니다. 배열이 생성되면, 배열의 크기가 고정으로 설정되므로 요소를 추가하거나 제거할 수 없습니다. 하지만, 마지막 요소가 제거된 새로운 배열을 생성하는 것은 가능합니다. 이번 포스팅은 배열의 마지막 요소가 제거된 새로운 배열을 생성하는 몇 가지 방법을 소개합니다. 방법 1. List로 변환 첫 번째 방법으로 배열을 크기가 동적인 List로 변환하여 마지막 요소를 제거할 수 있습니다. [제거 방법] 순서 1. 배열을 List로 변환합니다. 순서 2. List의 마지막 요소를 제거합니다. 순서 3. 마지막 요소가 제거된 List를 다시 배열로 변환합니다. class Program { static vo.. C#/배열 2022. 8. 28. [C#]배열 복사하는 방법 배열 복사하는 방법 C#의 배열은 참조 타입이므로 실제 데이터는 Heap 영역에 생성되고 변수는 Stack 영역에 생성됩니다. Stack 영역에 생성된 변수는 참조 값(Heap 영역에 생성된 실제 데이터의 위치)을 통해 배열의 데이터를 접근합니다. 만약, 참조 값을 다른 변수에 할당하는 경우 두 개 이상의 변수가 Heap 영역에 존재하는 배열의 데이터를 공유하게 됩니다. 다음 예제는 배열 변수를 다른 변수에 할당 후 값을 변경했을 때, 원본 데이터가 보존되지 않는 문제를 보여줍니다. class Program { static void Main(string[] args) { int[] intArray = { 5, 10, 15, 20 }; int[] copyArray = intArray; Console.Wri.. C#/배열 2022. 8. 23. [C#]배열의 타입을 변경하는 방법 배열의 타입을 변경하는 방법 이번 포스팅은 C#에서 배열의 타입을 변경할 수 있는 몇 가지 방법을 소개합니다. 방법 1. Array 클래스의 ConvertAll 메서드 첫 번째 방법으로 Array 클래스에서 제공하는 ConvertAll() 메서드를 사용할 수 있습니다. public static TOutput[] ConvertAll ( TInput[] array, Converter converter); TInput[] array - 특정 타입으로 변환하고 싶은 배열을 전달합니다. Convert converter - 배열의 요소를 특정 타입으로 변환하는 변환기를 전달합니다. - TInput: 기존 배열의 타입을 설정합니다. - TOutput: 변환하고 싶은 타입을 설정합니다. ConvertAll() 메서드는.. C#/배열 2022. 8. 18. [C#]배열에서 특정 값 삭제하는 방법 배열에서 특정 값 삭제하는 방법 C#에서 배열의 특정 값을 삭제하는 메서드는 존재하지 않습니다. 하지만, Array 클래스가 아닌 다른 클래스에서 제공하는 메서드를 응용한다면, 특정 값이 제거된 새로운 배열을 만들 수 있습니다. 이번 포스팅은 배열에서 특정 값이 제거된 새로운 배열을 생성하는 몇 가지 방법을 소개합니다. - LINQ의 Where 메서드 - LINQ의 Except 메서드 - Array 클래스의 FindAll 메서드 참고로 LINQ의 Where() 메서드와 Except() 메서드를 사용하기 위해서는 .Net Framework 3.5 버전 이상이어야 합니다. LINQ의 Where 메서드 LINQ에서 제공하는 Where() 메서드는 배열 또는 List와 같은 데이터 집합에서 특정 데이터를 필터링.. C#/배열 2022. 8. 16. [C#]배열을 리스트로(Array to List), 리스트를 배열로(List to Array) 이번 포스팅에서는 C#에서 배열을 리스트로 변환하는 방법과 리스트를 배열로 변환하는 방법을 설명합니다. 사용 방법이 심플하기 때문에 반복문을 사용하지 않아도 되는 장점이 있습니다. 목차 배열을 리스트로 1. Enumerable.ToList() 메서드 배열을 리스트로 2. List 생성자 사용 배열을 리스트로 3. List.AddRange() 메서드 리스트를 배열로 List.ToArray() 메서드 배열을 리스트로 1. Enumerable.ToList() 메서드 LINQ에서 제공하는 ToList() 메서드를 사용합니다. 다음 코드는 int형 배열을 List로 변환하는 코드입니다. int[] intArray = { 1, 2, 3, 4, 5 }; List intList = intArray.ToList(); C.. C#/배열 2021. 10. 4. [C#]배열 정렬 방법(Sort, OrderBy) 이번 포스팅에서는 C#에서 배열을 정렬하는 방법을 설명합니다. 1차원 배열을 정렬하는 방법으로는 Array.Sort() 메서드와 LINQ를 사용할 수 있습니다. 목차 Array.Sort() 메서드 LINQ 사용 1. 쿼리 작업 LINQ 사용 2. OrderBy() 메서드 Array.Sort() 메서드 Array.Sort() 메서드를 사용하면 배열을 오름차순으로 정렬합니다. 내림차순으로 정렬하는 메서드는 없으므로 배열을 내림차순으로 정렬하고 싶은 경우 Sort() 메서드 호출 후 Reverse() 메서드를 사용합니다. 다음은 int형 배열을 Sort() 메서드를 사용하여 오름차순 정렬 후 Reverse() 메서드를 사용하여 내림차순 정렬하는 코드입니다. int[] intArray = { 7, 3, 4, 1.. C#/배열 2021. 10. 4. [C#]배열 값 위치(index) 찾기(IndexOf, FindIndex) 이번 포스팅에서는 C#에서 배열의 특정 값 또는 특정 조건을 만족하는 값의 위치(index)를 찾는 방법에 대해 설명합니다. 배열의 특정 값을 만족하는 요소의 위치를 찾는 메서드는 Array.Index() 및 Array.LastIndexOf() 메서드가 있으며, 특정 조건을 만족하는 값의 위치를 찾는 메서드는 Array.FindIndex() 및 Array.FindLastIndex() 메서드가 존재합니다. Array.FindIndex() 및 Array.FindLastIndex() 메서드를 사용하면, 클래스 배열에서 특정 조건을 만족하는 값의 위치도 구할 수 있습니다. 참고로 람다식에 대한 사전 지식이 없다면, Array.FindIndex(), Array.FindLastIndex() 메서드 사용 방법은 내용.. C#/배열 2021. 10. 3. [C#]배열에서 조건에 맞는 값 검색(Find, FindAll, FindLast) C#에서 종종 로직에 일치하는 배열의 값을 검색해야 하는 경우가 존재합니다. 이번 포스팅에서는 배열에서 특정 조건에 일치하는 값을 검색하는 메서드를 소개합니다. 참고로 람다식과 제네릭 컬렉션인 List에 대한 사전 지식이 없다면, 내용이 어려울 수 있습니다. 목차 첫 번째 요소를 반환하는 Array.Find() 메서드 모든 요소를 반환하는 Array.FindAll() 메서드 마지막 요소를 반환하는 Array.FindLast() 메서드 첫 번째 요소를 반환하는 Array.Find() 메서드 Find() 메서드는 특정 조건에 일치하는 첫 번째 요소(값)를 반환합니다. 첫 번째 요소는 시작 위치(0번째 Index)와 가장 가까운 배열의 요소입니다. 특정 조건에 일치하는 값이 없으면 타입(T)의 기본값을 반환합.. C#/배열 2021. 10. 2. 이전 1 2 다음