簡體   English   中英

如何在linq中多次使用var?

[英]How to use var more than once in linq?


var ID, x,y

switch(ItemTypeNo)
{

   case ItemType.A : 

    ID = from s in cntx.Tablo1
break;


   case ItemType.B : 

    ID = from s in cntx.Tablo2
break;


   case ItemType.C : 

    ID = from s in cntx.Tablo3
break;

}

您只能將var用於內聯初始化,事實並非如此。 您將需要適當地鍵入ID ,並且由於var具有僅在Tablo1Tablo2Tablo3是相同類型(這似乎不太可能)時才起作用的單一類型。

您在這里需要做什么?

還有的 ,在這里工作的情形; 從每個中選擇一個通用類型時; 讓我們假設它們都具有一個int主鍵:

IQueryable<int> ids;    
switch(ItemTypeNo)
{    
   case ItemType.A : ids= from s in cntx.Tablo1 select s.Id; break;
   case ItemType.B : ids= from s in cntx.Tablo2 select s.Id; break;
   case ItemType.C : ids= from s in cntx.Tablo3 select s.Id; break;
   default: throw new InvalidOperationException();
}

但是,在一般情況下...並不是很多。 您可以將ID鍵入為非通用的IQueryable ,但老實說,這不能讓您做很多有趣的事情。 dynamic在LINQ上不能很好地發揮作用(即使這樣做,在這里也很容易被破解)。

如果沒有初始化,則不能聲明匿名類型“ var”。 一旦初始化了“ var”(一旦從使用情況推斷出),就無法在其整個生命周期中對其進行更改。

您可以將ID聲明為IQueryable因為這是通用IQueryable<T>基本類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM