我是linq的新手。应该是什么类型的变量?
我的代码如下。我需要给结果变量的类型。它应该是什么?
我试着将results= Enumerable.Emoty<DataRow>();
和铸造结果分配到DataRow
。但铸造失败。
任何人都可以这样说吗?
var results;
if (rbtnSystemTypes.IsChecked == true)
{
results = (from DataRow dr in objDataTable.Rows
let Markets = dr.Field<bool>("IsActiveMarkets") == true ? "Active" : "Inactive"
let Budgets = dr.Field<bool>("IsActiveBudgets") == true ? "Active" : "Inactive"
let Programs = dr.Field<bool>("IsActivePrograms") == true ? "Active" : "Inactive"
select new
{
SlNo = objDataTable.Rows.IndexOf(dr) + 1,
Country = dr.Field<string>("SystemType"),
Market = dr.Field<string>("Market"),
ProgramType = dr.Field<string>("JDFType"),
Markets = Markets,
Budgets = Budgets,
Programs = Programs
});
}
else
{
results = (from DataRow dr in objDataTable.Rows
let Markets = dr.Field<bool>("IsActiveMarkets") == true ? "Active" : "Inactive"
let Budgets = dr.Field<bool>("IsActiveBudgets") == true ? "Active" : "Inactive"
let Programs = dr.Field<bool>("IsActivePrograms") == true ? "Active" : "Inactive"
select new
{
SlNo = objDataTable.Rows.IndexOf(dr) + 1,
SubSystemType = dr.Field<string>("SubSystem"),
Market = dr.Field<string>("Market"),
SystemType = dr.Field<string>("SystemType"),
Markets = Markets,
Budgets = Budgets,
Programs = Programs
});
}
您是否期待从匿名对象到DataRow的魔法转换?如果是这样,你运气不好。 – leppie 2012-04-02 11:21:02