2016-08-02 4 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(); 
     } 
    } 
} 

私がコンパイルしようとすると、変数から2つのエラーが発生し、修正方法がわかりません。あなただけ暗黙的に型指定された変数を初期化する必要があります

var Day; 

コンパイラができないフィギュアアウトDay変数の実際の型を入れ

+0

どのようなエラーが表示されますか? – Julian

+0

'String'を使うと、誰にとっても簡単です。これは強く型付けされた言語なので、あなたの変数plzを強くタイプします。 – Nyerguds

答えて

3

var Day = Console.ReadLine(); 

に変更し、StringConsole.ReadLine()戻っていることを知られた、コンパイラが簡単にDayがタイプStringであることを検出することができます

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(); 
関連する問題