【问题标题】:Why can't I take the first row with this field from a datatable?为什么我不能从数据表中获取该字段的第一行?
【发布时间】:2016-02-17 15:05:59
【问题描述】:

我想从第一行获取字段“size”并将其输出到字符串 openingRow。查询没有吐出任何内容。它有什么问题?

   string openingRow = (from row in MV.Data.AsEnumerable()
   select row["size"]).Take(1).ToString();

【问题讨论】:

    标签: c# wpf linq


    【解决方案1】:
    string openingRow = (from row in MV.Data.AsEnumerable()
       select row["size"]).FirstOrDefault().ToString();
    

    【讨论】:

    • 为什么我不能使用 Take(1)?
    • @Sean Take 将返回一个 IEnumerable 并且无论如何它不会在对象中实现结果。执行查询时会得到什么结果?
    • 运行原始查询时得到 System.Linq.Enumerable+d_3a`1[System.Object],运行您的查询时得到正确结果。
    • @Sean 好的,当您运行原始查询时,您得到的是对象的 IEnumerable。对其调用 ToString 方法将返回类似于“描述”的内容。基本上,您没有将结果具体化为具体对象。要实现它,您可以调用 ToList 方法,或者按照我的建议调用 FirstOrDefault 方法。我希望它更清楚
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多