백준에서 블랙잭 문제를 풀고나서 여러 사람들이 푼 걸 보다가 아주 좋은 문법을 알아냈다.
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();
}
}
}
반응형
'Programming > C#' 카테고리의 다른 글
C# 접근 제어자 Internal란? (총 정리) (1) | 2021.11.10 |
---|---|
C# 프로퍼티(Property)란? (사용하는 이유 / Java get set) (0) | 2021.11.05 |
C# Thread.Sleep() vs Task.Delay() 함수의 차이 (0) | 2021.10.18 |
C# 소수값 구하기 (0) | 2021.10.12 |
C# HashSet<T> 중복제거 (0) | 2021.09.26 |
댓글