我是linq的全新品牌。由於缺乏經驗,我相信我錯過了一些東西。Linq物體枚舉
問題: 我使用LINQ查詢對象,並返回枚舉科目對象where o.Diff!=0
如果我試圖枚舉結果我得到的錯誤unable to cast object of type System.Collections.Generic.KeyValuePair '2[Acct]' to type 'Acct'
。
問題: 如何從Linq查詢返回可枚舉的Acct對象?
在此先感謝!
public class AcctSum
{
string ID;
Decimal Amt1;
Decimal Amt2;
Decimal Diff;
ArrayList<AcctDet> lines;
}
public class AcctInfo
{
Dictionary<string,AcctSum> acct
//code that adds the data...
public iEnumerable Discrepancies()
{
var results = (from Acct a in acct
where a.Diff != 0
select a).AsEnumerable<Acct>();
foreach (var result in results)//at runtime this generates an error
{
}
return results.GetEnumerator();
}
}
您正在交換使用Acct和AcctSum。這看起來不正確。如果Acct是枚舉,則不能將其從一個轉換爲另一個。 – Schultz9999
首先將'from'中的'Acct'改成一個不是類型名稱的變量名稱,比如'variable1',然後將'AsEnumerable()'改爲'AsEnumerable ()',最後將'in acct'改爲'在acct.Values' –