2016-07-26 2 views
0

을 내부에서 어떻게 암시 적 타입의 변수를 정의하는 먼저 선언하거나 암시 적 변수를 선언 한 후에 다시 선언 할 수 없습니다.C 번호 : 블록과 내가 이런 일을하고 싶지 외부

데이터의 반환 형식 (암시 적 형식 변수의 전체 지점)을 알지 못한다고 가정하면이 작업을 수행하는 적절한 방법은 무엇입니까?


편집 :

첫 번째 대답은 아래 유형이 명확하게 정의 된 경우 잘 작동하지만 이런 일에 대해?

var myQuery; 
if (includeSomething == true) 
{ 
    myQuery = from x in myTable select new { f1 = x.field1, f2 = x.field2 }; 
} 
else { 
    myQuery = from x in myTable select new { f1 = x.field1, f2 = x.field2, x3 = x.field3 }; 
} 
+0

하는처럼 삼항 연산자를 사용하여이 작업을 수행 할 수 있습니다

var myQuery; 

IEnumerable<your_type> myQuery; 

에 같은 입력 선언한다 수정 된 답변을 확인하려고했습니다. – Rahul

+0

@Rahul, 답변이 언제 편집 되었습니까? –

+0

@LajosArpad, 답변 창 시간. – Rahul

답변

0

은 예, 이러한 경우에 강하게 당신은뿐만 아니라

var myQuery = (someParam > 0) ? from x in myTable where x.myValue > someParam select x : from x in myTable select x;