2016-08-02 56 views
1
using System; 

namespace Task2 
{ 
    class BirthDate 
    { 
     static void Main(string[] date) 
     { 
      var Month; 
      Console.WriteLine("Please enter your month of birth:"); 
      Month = Console.ReadLine(); 

      var Day; 
      Console.WriteLine("Please enter your day of birth:"); 
      Day = Console.ReadLine(); 

      Console.WriteLine("Your birth month is {0}, on day {1}", Month, Day); 


      Console.ReadLine(); 
     } 
    } 
} 

當我嘗試編譯時,我從變量中得到兩個錯誤,我不知道如何解決它。隱式類型變量必須初始化

+0

你會得到什麼錯誤? – Julian

+0

使用'String',對每個人來說都更容易。這是一種強類型語言,所以強類型變量plz。 – Nyerguds

回答

3

當你把剛剛

var Day; 

編譯器不能弄清楚Day變量的實際類型;將其更改爲

var Day = Console.ReadLine(); 

和已經知道Console.ReadLine()回報String,編譯器可以很容易地檢測出DayString類型:

Console.WriteLine("Please enter your month of birth:"); 
var Month = Console.ReadLine(); 

Console.WriteLine("Please enter your day of birth:"); 
var Day = Console.ReadLine(); 
0

你不能沒有初始化使用隱式類型的變量。您應該初始化變量以讓編譯器推斷變量的類型。

當在代碼上查看時,不要使用隱式類型變量。

var iDontKnowWhatTypeOfIt = SomeMethod(); // not good 

var itIsObviousThatImTimeSpan = TimeSpan.FromSeconds(5); // OK 
0

您尚未定義月份和日期是哪種類型。 當使用「var」時,您必須根據定義爲其設置一個值。 修復你的代碼最簡單的方法是簡單地寫VAR前控制檯讀取這樣:

using System; 

namespace Task2 
{ 
    class BirthDate 
    { 
     static void Main(string[] date) 
     { 
      Console.WriteLine("Please enter your month of birth:"); 
      var Month = Console.ReadLine(); 
      Console.WriteLine("Please enter your day of birth:"); 
      var Day = Console.ReadLine(); 
      Console.WriteLine("Your birth month is {0}, on day {1}", Month, Day); 
      Console.ReadLine(); 
     } 
    } 
} 
0

要麼讓編譯器分配

Console.WriteLine("Please enter your month of birth:"); 
var Month = Console.ReadLine(); 

推斷類型或指定類型明確

string Month; 
Console.WriteLine("Please enter your month of birth:"); 
Month = Console.ReadLine();