从DataTable中选择前1个,其中按列的列顺序为字符串

时间:2018-08-29 10:16:54

标签: c# datatable

See the picture of sample results that I need to parse

请参见上方的 C#数据表的值。我需要基于colA和dateof获取突出显示的值,可以用SQL进行解释,如下所示:

SELECT TOP 1 colB FROM dt WHERE colA = 'aaa' ORDER BY dateof ASC

我必须在 C#中执行此操作,而不是在SQL中执行。

如何获得该价值?

1 个答案:

答案 0 :(得分:1)

能否请您尝试以下代码,并让我知道它是否有帮助? 假设myDataTable为您要处理的DataTable,并假定字段的类型为string(根据需要进行适当更改)

myDataTable.AsEnumerable()
           .Where(x => x.Field<string>("colA") == "aaa")
           .OrderBy(y => y.Field<string>("dateof"))
           .Take(1)
           .Select(s => s.Field<string>("colB"))

否则这可能会帮助您:

var defaultSelectedRow = myDataTable.AsEnumerable()
                                    .Where(x => x.Field<string>("colA") == "aaa")
                                    .OrderBy(y => y.Field<string>("dateof")).FirstOrDefault();
if (defaultSelectedRow != null)
{
    string colBValue = defaultSelectedRow.Field<string>("colB");
}