C#190 [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#]문자열 공백 제거하는 방법 문자열 공백 제거 이번 포스팅은 C#의 문자열에서 공백을 제거하는 방법을 소개합니다. Replace 메서드의 한계 가장 쉬운 방법은 Replace() 메서드를 사용하는 방법입니다. Replace() 메서드의 첫 번째 매개변수로 띄어쓰기(" ")를 전달하고 두 번째 매개변수로 string.Empty를 전달합니다. class Program { static void Main(string[] args) { string strValue = " AB CD EF GH"; string ReplaceReturn = strValue.Replace(" ", string.Empty); Console.WriteLine("[공백 제거 전]"); Console.WriteLine(strValue); Console.WriteLine(.. C#/문자열 2022. 8. 15. [C#]특정 문자열 제거하는 방법 특정 문자열 제거하는 방법 C#에서 문자열은 변경할 수 없습니다. 즉, 다음과 같이 문자열 변수를 생성하면 문자열 변수는 Stack에 존재하지만, 문자열 값은 Heap에 존재하므로 Heap에 존재하는 문자열 값을 변경할 수 없습니다. Stack에 존재하는 문자열 변수는 Heap에 존재하는 문자열 주소를 참조합니다. class Program { static void Main(string[] args) { string strValue = "AB_CD_EF_GH"; } } [메모리 공간] 따라서, 특정 문자열을 제거하기 위해서는 특정 문자열이 제거된 새로운 문자열을 Heap에 생성해야 합니다. 이번 포스팅은 C#에서 특정 문자열을 제거하는 몇 가지 방법을 소개합니다. Replace 메서드 문자열에 포함된 특정.. C#/문자열 2022. 8. 15. [C#]문자열 배열을 문자열로 변환(String Array to String) 문자열 배열을 문자열로 변환 이번 포스팅은 C#에서 문자열 배열을 문자열로 변환하는 방법을 소개합니다. Join 메서드 첫 번째 방법은 string 클래스의 Join() 메서드를 사용하는 방법입니다. Join() 메서드는 두 개의 매개변수를 가집니다. 첫 번째 매개변수는 문자열을 구분하는 기호이며, 두 번째 매개변수는 문자열 배열입니다. 첫 번째 매개변수에 빈 문자열을 전달하여 문자열 배열을 문자열로 변환할 수 있습니다. class Program { static void Main(string[] args) { string[] strArray = { "AB", "CD", "EF" }; string strArrayToString = string.Join("", strArray); Console.WriteLi.. C#/문자열 2022. 8. 15. [C#]LINQ 즉시 실행과 지연 실행(Immediate Execution vs Deferred Execution) 즉시 실행과 지연 실행 C#의 LINQ는 두 가지 방식으로 실행됩니다. 즉시 실행(Immediate Execution) - count, average, min, max, ToArray, ToList 등.. 즉시 실행에 포함됩니다. 지연 실행(Deferred Execution) - select, SelectMany, where, Take, Skip 등.. 지연 실행에 포함됩니다. 이번 포스팅은 LINQ의 즉시 실행과 지연 실행에 대해 소개합니다. 즉시 실행 즉시 실행은 쿼리를 강제로 실행하고 결과를 바로 가져옵니다. 다음 예제는 즉시 실행을 설명하는 소스 코드입니다. public class Person { public int ID { get; set; } public string Name { get; se.. C#/LINQ 2022. 8. 15. [C#]LINQ 결과를 Dictionary로 변환 - ToDictionary 메서드 ToDictionary 메서드 C#의 Dictionary 클래스는 Key-Value 쌍으로 구성된 컬렉션입니다. LINQ 결과는 IEnumerable를 반환하므로 Key-Value 쌍으로 구성된 Dictionary으로 변환해야 하는 경우 특정 작업이 필요한데, LINQ에서 제공하는 ToDictionary() 메서드를 사용하여 LINQ 결과를 Dictionary으로 변환할 수 있습니다. System.Linq의 Enumerable 클래스에 정의된 ToDictionary() 메서드는 네 가지 오버로드된 버전이 존재합니다. public static Dictionary ToDictionary( this IEnumerable source, Func keySelector); public static Dictionar.. C#/LINQ 2022. 8. 15. [C#]LINQ 결과를 리스트 또는 배열로 반환 - ToList, ToArray 메서드 LINQ 결과를 리스트 또는 배열로 반환 C#의 Linq에서 제공하는 메서드는 IEnumerable를 반환합니다. 따라서, 다음 예제처럼 LINQ의 결과를 리스트 또는 배열로 반환하는 경우 컴파일 에러가 발생합니다. class Program { static void Main(string[] args) { List intList = new List() { 1, 2, 3 }; List whereResult = intList.Where(num => num > 1); Console.WriteLine("whereResult 값"); whereResult.ForEach(num => Console.Write(num + " ")); } } [에러 내용] 이번 포스팅에서 소개하는 다음 두 가지 메서드를 사용하면 LINQ.. C#/LINQ 2022. 8. 14. [C#]LINQ 데이터 추가 방법 - Append, Prepend 메서드 LINQ 데이터 추가 방법 이번 포스팅은 데이터 집합에 값을 추가할 수 있는 다음 두 가지 메서드를 소개합니다. - Append() - Prepend() 참고로 Append(), Prepend() 메서드는 .Net Framework 4.7.1 이상에서 제공하는 메서드이므로 이전 버전에서는 사용할 수 없습니다. Append 메서드 C#의 Linq에서 제공하는 Append() 메서드는 데이터 집합 마지막 위치에 값을 추가하는 용도로 사용됩니다. Append() 메서드는 기존 데이터 집합을 수정하지 않으며, 값이 추가된 새로운 데이터 집합을 반환합니다. public static IEnumerable Append( this IEnumerable source, TSource element); Append() 메서.. C#/LINQ 2022. 8. 14. [C#]LINQ 빈 값으로 설정 - Empty 메서드 Empty 메서드 지난 포스팅에서 데이터를 생성하는 메서드인 Range(), Repeat() 메서드에 대해 설명하였습니다. [C#]LINQ 지정된 범위 또는 횟수만큼 데이터 생성 - Range, Repeat 메서드 생성 연산자 지금까지는 Join, Select, Where, Take 메서드 등... 데이터 집합에서 원하는 데이터를 추출하는 방법을 소개했습니다. 이번 포스팅은 데이터를 생성할 수 있는 두 가지 메서드를 소개합니 developer-talk.tistory.com C#의 Linq는 또 다른 생성 메서드인 Empty() 메서드를 제공합니다. public static IEnumerable Empty(); Empty() 메서드는 매개변수가 존재하지 않으며 TResult 타입(제네릭 타입)인 IEnum.. C#/LINQ 2022. 8. 14. [C#]LINQ 지정된 범위 또는 횟수만큼 데이터 생성 - Range, Repeat 메서드 생성 연산자 지금까지는 Join, Select, Where, Take 메서드 등... 데이터 집합에서 원하는 데이터를 추출하는 방법을 소개했습니다. 이번 포스팅은 데이터를 생성할 수 있는 두 가지 메서드를 소개합니다. - Range() 메서드 - Repeat() 메서드 Range 메서드 Range() 메서드는 지정된 범위의 정수를 생성합니다. public static IEnumerable Range(int start, int count); Range() 메서드는 두 개의 int 타입 매개변수가 존재합니다. 첫 번째 매개변수는 지정된 범위에서 시작하는 값을 설정합니다. 두 번째 매개변수는 start부터 생성될 개수를 설정합니다. 예제 1. 1부터 10까지 데이터 생성 다음 예제는 Range() 메서드를 사.. C#/LINQ 2022. 8. 14. [C#]LINQ 특정 조건을 만족하는 데이터 생략하기 - SkipWhile 메서드 SkipWhile 메서드 C#의 Linq에서 제공하는 SkipWhile() 메서드는 데이터 집합의 데이터를 처음 위치에서 순회합니다. 데이터 집합을 순회하는 동안 SkipWhile() 메서드에 전달된 조건문의 결과가 false인 경우 반복문을 중단하고 나머지 데이터를 반환합니다. Sytem.Linq 네임스페이스에 존재하는 SkipWhile() 메서드는 두 가지 오버로드된 버전이 존재합니다. public static IEnumerable SkipWhile( this IEnumerable source, Func predicate); public static IEnumerable SkipWhile( this IEnumerable source, Func predicate); SkipWhile() 메서드의 매개변.. C#/LINQ 2022. 8. 14. [C#]LINQ 특정 개수만큼 생략 - Skip 메서드 Skip 메서드 C#의 Linq는 데이터 집합의 처음 위치에서 n개의 요소만큼 건너뛴 다음 나머지 값을 반환하는 Skip() 메서드를 제공합니다. 즉, Skip() 메서드에 int 타입의 값 n을 전달하면 n번째 위치부터 시작하는 모든 값이 반환됩니다. IEnumerable Skip(this IEnumerable source, int count); 주의사항으로 Skip() 메서드를 호출하는 데이터 집합이 null로 할당된 경우 ArgumnetNullException이 발생합니다. 예제 1. int 타입의 List 다음 예제는 5개의 요소가 존재하는 int 타입의 List에서 Skip() 메서드를 호출합니다. Skip() 메서드에 3을 전달하면 처음 위치에서 3개의 요소를 건너뛴 다음 나머지 데이터를 가져.. C#/LINQ 2022. 8. 11. 이전 1 2 3 4 5 6 7 ··· 16 다음