2013-01-06 46 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

您需要提供out parameter對於int.TryParse

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

之後是初始化。