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

컴파일하려고하면 변수에서 두 개의 오류가 발생하며 수정 방법을 모르겠습니다. 그냥암시 적으로 입력 한 변수는 초기화해야합니다.

var Day; 

넣어

+0

어떤 에러가 있습니까? – Julian

+0

'String'을 사용하면 누구나 쉽게 사용할 수 있습니다. 강하게 타자를 치는 언어, 이렇게 강한 유형 당신의 가변 plz. – Nyerguds

답변

3

컴파일러 수 없습니다 그림 밖으로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(); 

에서 유형을 추론 또는 명시 적 유형

를 지정 콘솔과 같은 읽기 전에 코드를 수정 가장 쉬운 방법은 단순히 VAR를 작성하는 것입니다
string Month; 
Console.WriteLine("Please enter your month of birth:"); 
Month = Console.ReadLine(); 
관련 문제