Programming/C#

C# Array.ConvertAll 의 편의성

JeongKyun 2021. 9. 26.
반응형

백준에서 블랙잭 문제를 풀고나서 여러 사람들이 푼 걸 보다가 아주 좋은 문법을 알아냈다.

 

Console.ReadLine()을 쓰면 string형으로 받게되는데, 보통 해당 값을 int형 배열에 넣어야 하는경우

 

string[]에 넣었다가 for문으로 int형으로 하나씩 파싱 해줬엇다.

 

근데 Array.ConvertAll를 쓰면 안그래도 된다. 가독성과 빌드 시간 측면에서 아주 좋은 함수인 것 같다!

 

아 그리고 var (N,M) 이것도 첨 본건데 두 줄을 나눠서 안쓰고 하나로 바로 끝낼 수 있어서 유용한듯

 

예제)

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using static System.Console;

namespace BaekJoon
{
	class Program
	{

		static void Main(string[] args)
		{
			//1 2 3 입력
			var NM = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
			// N에 1, M에 2 들어감
			var (N, M) = (NM[0], NM[1]);
			//4 5 6 입력
			var arr = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);

			// NM에는 바로 int형으로 파싱하여 1,2,3의 들어간다.
			// 편리하고 아주 좋다.

			Console.ReadKey();

		}
	}
}

 

댓글

💲 많이 본 글