2013-01-06 1 views
0

다음 코드에서 배열 문자열 값에서 int를 캐스팅하려고 시도하면.C# 캐스트 배열 값을 입력하려고합니다.

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 


    namespace hourscount 
    { 
     class Program 
     { 
      static void Main(string[] args) 
      { 
       string delimiter = ":"; 
       string time1 = Console.ReadLine(); 
       string time2 = Console.ReadLine(); 

       if (time1 == null || time2 == null) 
       { 
        Console.WriteLine("Program expects two values!"); 
        Console.ReadLine(); 

       } 
       else 
       { 
        string[] time1var = time1.Split(new string[] {delimiter}, StringSplitOptions.None); 
        string[] time2var = time2.Split(new string[] { delimiter }, StringSplitOptions.None); 
        int time2Intvar1 = int.TryParse(time2var[0]); 
        int time1Intvar1 = int.TryParse(time1var[0]); 
        int time2Intvar2 = int.TryParse(time2var[1]); 
        int time1Intvar2 = int.TryParse(time1var[1]); 
        int realHours = (time2Intvar1 - time1Intvar1); 
        Console.ReadLine(); 
       } 
      } 

     } 
    } 

다음과 같은 오류가 발생합니다. 오류 1 방법에 대한 과부하 'TryParse'소요 1 인자는

+1

이것은 캐스트가 아니며 파싱 및/또는 변환입니다. 그리고 Intellisense를 사용하면 추가 인수가 필요하다는 점이 분명하지 않은 이유는 무엇입니까? 나는 그것을 얻지 못한다. –

+0

timeXvar [X]가 인수라고 생각했습니다. – CryptoJones

+0

** 추가 ** 인수. –

답변

4

자세한 내용은

int time2Intvar1; 
bool isOK = int.TryParse(time2var[0],out time2Intvar1); 

로 사용 int.TryParse의 경우 :

int time2Intvar1; 
bool canBeParsed = int.TryParse(time2var[0], out time2Intvar1); 

나중에 초기화됩니다.