【问题标题】:Linq get the value from the var returnedLinq 从返回的 var 中获取值
【发布时间】:2019-12-06 19:51:51
【问题描述】:

我有以下代码,我从数据表中获取了一个不同的值,然后使用该值在该数据表上进行选择。

string ccId = d.ToString(); 

被返回为“{ id = B08 }”——我只需要 B08 我怎样才能得到那个值?

var distinctIds = dt.AsEnumerable()
                  .Select(s => new { id = s.Field<string>("CCId"),})
                  .Distinct().ToList();



foreach (var d in distinctIds)
{
     string ccId = d.ToString();
     DataTable selectedTable = dt.AsEnumerable()
                            .Where(r => r.Field<string>("CCId") == ccId).CopyToDataTable();
     CreateFile(selectedTable);
}

【问题讨论】:

  • 而不是d.ToString(),只需调用d.id
  • 另外考虑不要在查询中创建匿名类Select(s =&gt; s.Field&lt;string&gt;("CCId"))

标签: c# .net linq datatable


【解决方案1】:

您在填充distinctIds 时强制使用此结构。通过在您的选择中删除匿名(新)调用,您将仅获得值列表。

var distinctIds = dt.AsEnumerable()
                    .Select(s => s.Field<string>("CCId"))
                    .Distinct().ToList();

【讨论】:

    猜你喜欢
    • 2012-10-07
    • 1970-01-01
    • 2012-09-28
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多