2013-02-22 2 views
0

사용자에게 개별 번호를 묻는 대신 C#에서 콘솔 응용 프로그램의 숫자 집합을 분리하는 방법은 무엇입니까? 예 : 대신 ... arrayC에서 사용자 입력 번호 분리하기

 double first, second, third, fourth; 

     Console.Write("Please enter first digit: "); 
     first = Convert.ToDouble(Console.ReadLine()); 
     Console.Write("Please enter second digit: "); 
     second = Convert.ToDouble(Console.ReadLine()); 
     Console.Write("Please enter third digit: "); 
     third = Convert.ToDouble(Console.ReadLine()); 
     Console.Write("Please enter fourth digit: "); 
     fourth = Convert.ToDouble(Console.ReadLine()); 
+1

단지 하나의 숫자라면 문자의 배열 인'string'을 사용할 수 있습니다. 나는 그들이 단 하나의 숫자가 될 것 같지 않다. 2 센트. –

답변

2

만들기 사용이 일을, 당신이 빨리 변수에/쓰기 작업을 읽을하는 데 도움이 될 수 있습니다 당신이 정말로 다음 네 가지 변수를이 수 사용하려면

double[] numbers = new double[4]; 

    for (int i = 0; i < 4; i++) 
    { 
     Console.WriteLine("Enter {0} of 4 Number : ", i + 1); 
     numbers[i] = Convert.ToDouble(Console.ReadLine()); 
    } 

    // numbers[0] = first 
    // numbers[1] = second 
    // numbers[2] = third 
    // numbers[3] = fourth 

가장 가까운 방법 :

double first, second, third, fourth; 

    for (int i = 1; i <= 4; i++) 
    { 
     Console.WriteLine("Enter a number : "); 
     double input = Convert.ToDouble(Console.ReadLine()); 
     switch (i) 
     { 

      case 1: 
       first = input; 
       break; 

      case 2: 
       second = input; 
       break; 

      case 3: 
       third = input; 
       break; 
      case 4: 
       fourth = input; 
       break; 

     } 
    } 
5

일종의 구분 기호 (이 예에서는 공백)를 사용하여 모든 숫자를 한 번에 입력하게 할 수 있습니다.

Console.Write("Please enter numbers, comma-separated: "); 
var numbers = Console.ReadLine() 
    .Split(',') 
    .Select(x => Double.Parse(x.Trim())) 
    .ToList(); 

실제 코드에서 아마 더 나은 것 비록 :

Console.Write("Please enter a bunch of digits separated by a space: "); 
var allDigits = Console.ReadLine().Split(' '); 
Double[] digits = allDigits.Select(d => Covert.ToDouble(d)).ToArray(); 

귀하의 요구 사항이 allDigit 여기 IEnumerable<string>.Take(4)

Console.Write("Please enter a bunch of digits separated by a space: "); 
var allDigits = Console.ReadLine().Split(' ').Take(4); 
Double[] digits = allDigits.Select(d => Covert.ToDouble(d)).ToArray(); 
+0

Split ('')이 필요하지 않습니다. Split() –

+0

@CuongLe, 충분합니다. 예를 들어 분리자를 변경하는 방법을 예를 들어 설명하려고합니다. – PinnyM

1

를 사용하여 제한 4 inputs로 제한되어있는 경우 하나의 방법입니다 TryParse을 사용하고 오류를 사용자에게 던집니다.