我正在使用下面的代碼來獲得一個dataTable的結果,但在foreach循環中使用生成的查詢時,它會引發異常:「無法強制類型爲'System.Int64'的對象鍵入' System.String'」。請指導我在代碼錯誤的地方。Linq查詢的迭代結果
var query = from detailRow in dtDetail.AsEnumerable()
group detailRow by detailRow.Field<string>("Domain") into grouping
select new
{
Domain = grouping.Key,
Impressions = grouping.Count(),
Clicks =
grouping.Sum(detailRow => int.Parse(detailRow.Field<string>("Clicks").ToString())),
url = grouping.First<DataRow>()
};
foreach (var detailRowGroup in query)
{
console.wirteline(detailRowGroup.Domain + detailRowGroup.Impressions + detailRowGroup.Clicks + detailRowGroup.url);
}
謝謝史蒂文,那就是問題所在。但現在還有一個問題,那就是dbnull值。當系統試圖解析一個空值時,它會拋出異常,不知道如何處理它。 – 2012-03-07 03:14:31
您可以執行'detailRow.Field(「Clicks」)'(因此使用'?')。 –
Steven
2012-03-07 08:43:27