[英]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
具有僅在Tablo1
, Tablo2
和Tablo3
是相同類型(這似乎不太可能)時才起作用的單一類型。
您在這里需要做什么?
還有的是 ,在這里工作的情形; 從每個中選擇一個通用類型時; 讓我們假設它們都具有一個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.