-
[C#] string array를 int array로 변환Development/C# 2023. 7. 10. 15:03728x90
1. Array.ConvertAll() 사용
using System; public class Example { public static void Main() { string[] strings = new string[] {"1", "2", "3"}; int[] ints = Array.ConvertAll(strings, s => int.Parse(s)); Console.WriteLine(String.Join(",", ints)); } }
람다식 표현 대신에 메서드 그룹을 사용해서 코드를 아래와 같이 개선 할 수 있다.
using System; public class Example { public static void Main() { string[] strings = new string[] {"1", "2", "3"}; int[] ints = Array.ConvertAll(strings, int.Parse); Console.WriteLine(String.Join(",", ints)); } }
int.Parse 대신에 int.TryParse를 사용해서 전환 실패 시 예외 반환 대신 실패 시 처리할 수 있는 코드를 작성 할 수 있다.
using System; public class Example { public static void Main() { string[] strings = new string[] {"X", "2", "3"}; int[] ints = Array.ConvertAll(strings, s => int.TryParse(s, out var x) ? x : -1); Console.WriteLine(String.Join(",", ints)); } }
2. LINQ 사용
using System; using System.Linq; public class Example { public static void Main() { string[] strings = new string[] {"1", "2", "3"}; int[] ints = strings.Select(int.Parse).ToArray(); Console.WriteLine(String.Join(",", ints)); } }
Reference
https://www.techiedelight.com/convert-string-array-to-int-array-csharp/
728x90'Development > C#' 카테고리의 다른 글
[프렉티컬 C# 연습문제] 2부 - 1장 (0) 2023.07.25 [프랙티컬 C# 연습문제] 1부 - 3장 (0) 2023.07.15 [프랙티컬 C# 연습문제] 1부 - 2장 (0) 2023.07.14 [C#] 정적 메서드(static method)와 인스턴스 메서드(instance method) (0) 2023.07.14 [프랙티컬 C# 연습문제] 1부 - 1장 (0) 2023.07.12