csharp [DataTable]到LINQ的数组列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp [DataTable]到LINQ的数组列表相关的知识,希望对你有一定的参考价值。

// Getting the DataTable
var trans = util.sql.sqlToTable("Select idPage,PageType,Front,Back From dbo.GetTransactionImageURLs_ForSplit(@transId)", new SqlParameter("@transId", idTransaction));

// Creating new List
List<string> ImgUrlList = new List<string>();

// Select desired columns from datatable using LINQ and save them into new object
// Way #1
var ImgUrl = trans.AsEnumerable().Select(
    r=> new
    {
        FrontImg = "{ type: 'image', url: '" + r.Field<string>("Front") + "'}",
        BackImg = "{ type: 'image', url: '" + r.Field<string>("Back") + "'}",
    }).ToArray();
    
// Way #2
foreach(var img in trans.AsEnumerable())
  {
      if (img.Field<object>("Front") != DBNull.Value) ImgUrlList.Add("{ type: 'image', url: '" + img.Field<string>("Front") + "'}");
      if (img.Field<object>("Back") != DBNull.Value) ImgUrlList.Add("{ type: 'image', url: '" + img.Field<string>("Back") + "'}");
  }
    
// Pushing items from object to list
foreach (var i in ImgUrl)
{
    ImgUrlList.Add(string.Join(",", i.FrontImg.ToString()));
    ImgUrlList.Add(string.Join(",", i.BackImg.ToString()));
}


// Somwhere else in code when needed to be used as string
string str = string.Join(",", ImgUrlList.Cast<string>())

以上是关于csharp [DataTable]到LINQ的数组列表的主要内容,如果未能解决你的问题,请参考以下文章

循环 LINQ 查询并将结果附加到 DataTable

使用 DataTable 和 Linq 导出到 Excel 中缺少某些数据

如何计算 LINQ 中 DataTable 的列的总和(到数据集)?

从 DbCommand.ExecuteReader 中的 Linq 选择中没有记录添加到 DataTable

具有多个 where 子句的 Linq to Datatable

csharp #LINQ到#XPO