2017-12-09 15 views
-2

변수를 암시 적으로 선언하고자하는 var으로 선언했습니다. 더 많은 코드가 알려 추가 할 필요가있는 경우> 내가 var returnData;변수 유형 이해

이 구문을 설정하는 방법이다의 유형을 변경하는 방법에 따르지 않는 ... 니펫을 - 나는 ConsoleApp1.GreenGlue[]를 반환하는 코드 Console.WriteLine(returnData.GetType();를 사용했다.

static void Main(string[] args) 
{ 
    var returnData = JsonConert.DeserializeObject<GreenGlue[]>(reply); 
} 


public class GreenGlue 
{ 
    public string BC { get; set; } 
    public List<BL> BL { get; set; } 
} 
+0

GreenGlue []로 선언 할 수 없습니까? var를 사용하면 암시 적으로 형식이 이미 선언되어 있습니다. 그렇지 않으면 명시 적으로 의미하는 것입니까? –

+0

@ChrisCarr -> 예, 제 사고로 유감입니다. – IcyPopTarts

+0

가장 좋은 팁은 : var를 사용하지 말고, 명시 적으로 타입을 설정하십시오. 몇 가지 경우를 제외하고는 나를 믿으십시오. 당신은 var에 호감을 가지 않습니다. – Sefe

답변

3

var 컴파일러가 오른쪽에서 입력을 유추 할 즉, 암시 적 선언 변수이다.

Json.Net을 사용하고 있으므로 원하는 결과를 얻으려면 DeserializeObject의 제네릭 매개 변수를 변경해야합니다.

+0

답장은 문자열 변수입니다. returnData를 문자열로 선언해도 괜찮습니까? – IcyPopTarts

+0

@IcyPopTarts가 반드시 필요한 것은 아닙니다. 그것 * 당신 * 그것을 만들고 싶어. –

+0

문자열로 선언하면 컴파일 오류가 발생합니다. 'GreenGlue []'형식을 'string'으로 암시 적으로 변환 할 수 없습니다. – IcyPopTarts