VB Linq转换为C# Linq

4

请帮我将其转换为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
1个回答

3

尚未经过测试,但翻译得相当直接(需要进行一些整理):

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)

更加清晰明了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接