2014-12-21 3 views
-5

INPUT(한 줄에) C#을

67 89 두 숫자 변수 두 개의 서로 다른 정수로 입력 콘솔에서 두 개의 숫자, 가게에 내가 가진

을 읽는 방법. 해야 할 일.

+3

첫 번째 숫자를 읽고 두 번째 숫자를 읽습니다. – dasblinkenlight

답변

2
var result = Console.ReadLine().Split(new [] { ' '}); 

내 머리 꼭대기에 뭔가가 있습니다.

var result = Console.ReadLine() 
        .Split() //Assuming whitespace as separator 
        .Select(i => int.Parse(i)) 
        .ToArray(); 

결과가 지금입니다 :

var result = Console.ReadLine() 
        .Split(new[] { ' ' }) //Explicit separator char(s) 
        .Select(i => int.Parse(i)) 
        .ToArray(); 

그리고 심지어 비트 terser :

는 다음 int 배열에 투사 할 수 Linq를 사용하여 Console.ReadLine()에 대한 문서 및 String.Split()

를 참조하십시오 int의 배열

+0

우리의 의견을 아래에 우리의 의견 교환 추가, Split() null 또는 0 인수를 허용하지 않는 경우에도 char 배열을 만들 필요가 없습니다. params 키워드 때문에 컴파일러가이를 처리합니다. 따라서 .Split ('')'을 쓰거나'.Split ('', '@')의 분리 자 2 개가있을 경우에만 말해야합니다. http://msdn.microsoft.com/en-gb/library/w5zay9db.aspx 참조하십시오. –

3

이렇게하면 콘솔에서 행을 읽고, 문자열을 분할하고, 구성 요소를 정수로 구문 분석하고 목록으로 출력합니다. 그런 다음 필요에 따라 목록에서 각 항목을 가져올 수 있습니다. 항상 두 개의 숫자가있는 경우 다음과 같이

Console.ReadLine().Split().Select(s => int.Parse(s)).ToList() 

당신은 그것을 할 수 있습니다 :

var integers = Console.ReadLine().Split().Select(s => int.Parse(s)).ToArray(); 
int first = integers[0]; 
int second = integers[1]; 

지역을 개선 :

  • 대신 Parse 출력의 TryParse을 사용할 수 있습니다 입력이 해석되지 않는 경우의 친숙한 에러 메세지

  • 정확히 두 숫자를 필요한 경우 (더 이상, 아니 이하) 당신이 <> 2

+0

Split()에는 [인수를 허용하지 않는 오버로드가 없습니다] (http://msdn.microsoft.com/en-us/) library/system.string.split (v = vs.110) .aspx). ** 편집 ** : 그러나 이것은 잘 작동하는 것 같습니다. 오늘 새로운 무언가를 배웠습니다 : P – RobIII

+0

@Robll LinqPad에서 작동했습니다 ... MSDN : "구분 기호 매개 변수가 null이거나 문자가없는 경우 공백 문자는 구분 기호로 간주됩니다." seperator는 params 인수입니다. –

+1

그래,이 간단한 사용할 수 실현 : P – RobIII

3
using System; 
public class Program 
{ 
    static void Main(string[] args) 
    { 
     var numbers = Console.ReadLine(); 
     var numberList = numbers.Split(' '); 
     var number1 = Convert.ToInt32(numberList[0]); 
     var number2 = Convert.ToInt32(numberList[1]); 
     Console.WriteLine(number1 + number2); 
     Console.ReadKey(); 
    } 
} 

이 다른 프로그램에서 실행하면 경우 integers 출력의 친절한 오류 메시지 길이를 확인하고 싶지 수있는 당신은 args에서 읽을 필요가