【问题标题】:VB Linq to C# LinqVB Linq 到 C# Linq
【发布时间】:2011-12-10 16:03:15
【问题描述】:
请帮我把它转换成 C# 等价物
Dim dtData As DataTable = Session("Data")
Dim aFilters = From oRow In dtData _
Where oRow(i_oColumn.BaseColumnName) IsNot DBNull.Value _
Select sFilter = _
oRow.Field(Of String)(i_oColumn.BaseColumnName).Replace("""", "\""") _
Distinct Order By sFilter
【问题讨论】:
标签:
c#
vb.net
linq
vb.net-to-c#
【解决方案1】:
未经测试,但翻译相当直接(有一些整理):
DataTable data = (DataTable)Session["Data"];
var filters= (from row in data.AsEnumerable()
where !(row[i_oColumn.BaseColumnName] is DBNull)
let result = (row.Field<string>(i_oColumn.BaseColumnName))
.Replace(@"""",@"\""")
orderby result
select result).Distinct();
然而,我怀疑:
where !row.IsNull(i_oColumn.BaseColumnName)
会更清楚