2016-08-02 2 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, компилятор может легко обнаружить, что 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

Вы не можете использовать неявно типизированные переменные без инициализации. Вы должны инициализировать variabe, чтобы позволить компилятору выводить тип переменной.

Не используйте неявно типизированные переменные, когда тип переменной не очевиден при просмотре кода.

var iDontKnowWhatTypeOfIt = SomeMethod(); // not good 

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

Вы не определяете, какой тип месяца и день. при использовании «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(); 
Смежные вопросы

 Смежные вопросы