2017-10-03 5 views
3

코드 : 여기C# 루프 외부에서 변수를 사용하여 루프 내부에서 문자열을 int로 변경하는 방법은 무엇입니까?

string[] numbers = new string[2]; 
for (int i = 0; i < numbers.Length; i++) 
{ 
    numbers[i] = Console.ReadLine(); 
    if (int.TryParse(numbers[i], out int numberTry) && i == 0) 
     Console.WriteLine("That would be a number yes."); 

    else if (int.TryParse(numbers[i], out numberTry)) 
     Console.WriteLine("Lovely work! That is indeed two numbers!"); 

    else 
    { 
     Console.Clear(); 
     Console.WriteLine("That's not a number. I am dissapointed."); 
     Console.ReadKey(); 
     Environment.Exit(0); 
    } 
} 

내 문제는 루프의 내부 int로 문자열에서 chancges 때문에 내가 int로 루프의 외부 번호 []를 사용할 수 있다는 것입니다. 숫자 [0]과 숫자 [1]에 대한 연산을 수행하기 위해 정수로 메소드를 전송할 수 있어야합니다. 미리 감사드립니다.

+2

루프 내에 채울 int 배열을 새로 만들 수 있습니다. – Chris

+0

아이디어를 제공해 주셔서 감사합니다! – Hagwill

답변

5

시도해 볼까요? 그것은 작동해야합니다.

int[] numbers = new int[2]; 
    for (int i = 0; i < numbers.Length; i++) 
    { 
     var number = Console.ReadLine(); 
     if (int.TryParse(number, out int numberTry) && i == 0) 
     { 
      Console.WriteLine("That would be a number yes."); 
      numbers[i] = numberTry; 
     } 
     else if (int.TryParse(number, out numberTry)) 
     { 
      Console.WriteLine("Lovely work! That is indeed two numbers!"); 
      numbers[i] = numberTry; 
     } 
     else 
     { 
      Console.Clear(); 
      Console.WriteLine("That's not a number. I am dissapointed."); 
      Console.ReadKey(); 
      Environment.Exit(0); 
     } 
    } 

    Console.ReadKey(); 
+0

그게 예일 것 같았어요! 건배! 이제 괜찮다면, numbers [i] = numberTry와 다른 차이점을 찾을 수없는 것처럼 정확히 무엇을 했습니까? – Hagwill

+0

@Hagwill 문자열 [] 배열을 int [] 배열로 변경했습니다. 그럼 난 숫자 변수에서 콘솔에서 귀하의 가치를 읽었습니다. 그 값을 숫자 내부 배열에 추가합니다. 그것이 맞다면 upvote를 클릭 할 수 있습니까? 잘 했어. – arslanaybars

+0

아, 대단히 고맙습니다. 나는 그랬지만 나는 8 평판을 얻었으므로 당신은 그것을 볼 수 없다. 미래의 일에도 행운을 빈다. – Hagwill