c# - foreach 中的多项选择到 LINQ

标签 c# visual-studio-2010 linq

我有一个带有 DataSet (ds) 的 foreach 循环,CsvFileData 是一个具有三个字段的通用类型: InvestmentAgaID ,InvestmentCode ,HasPositionstringCSVDataListCsvFileData 的列表。

现在我想将它转换为 LINQ 而不是 foreach

foreach (DataRow drow in ds.Tables[0].Rows)
{
    CsvFileData ob = new CsvFileData();

    ob.InvestmentAgaID = drow[1].ToString().Trim();
    ob.InvestmentCode = drow[0].ToString().Trim();
    ob.HasPosition = drow[2].ToString().Trim();
    CSVDataList.Add(ob);
}

最佳答案

这里是:

var data = ds.Tables[0].Rows
.Cast<DataRow>()
.Select(x => new CsvFileData() 
{
    InvestmentAgaID = x[1].ToString().Trim(),
    InvestmentCode = x[0].ToString().Trim(),
    HasPosition = x[2].ToString().Trim()
})
.ToList();

关于c# - foreach 中的多项选择到 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20510503/

相关文章:

visual-studio - 安装 COM+ 包

c# - 如何实现密码重置?

c# - 用数据填充分层类结构

c# - 如何遍历静态常量类?

c# - 关闭“查找和替换”对话框的键盘快捷方式

c++ - 应用程序错误 - 调试 exe 无法运行

c# - 使用 Linq 选择具有特定属性的节点

c# - 这两种改组 IEnumerable 的算法之间是否存在性能差异?

c# - 从集合继承和实现可枚举接口(interface)时,IEnumerable 扩展方法 (System.Linq) 不可用

c# - 相等运算符——总是左结合的,这有关系吗?