zoukankan      html  css  js  c++  java
  • C#如何根据DataTable生成泛型List或者动态类型list

    背景:在项目中,sql语句检索返回DataTable,然后根据检索结果做进一步的操作,本篇文章即是介绍如何将DataTable快速生成泛型List返回。

    假设存在如下学生类:

    1     public class student
    2     {
    3         public int ID { get; set; }
    4         public string  StuName { get; set; }
    5         public string  CityCode { get; set; }
    6     }

    存在如下数据表Student:

    1、泛型List,其C#代码如下:

    1             da.Fill(dt);
    2             List<student> listStu = null;
    3             if (dt.Rows.Count > 0)
    4             {
    5                 listStu = dt.AsEnumerable().Select(row => new student() { ID = Convert.ToInt32(row["ID"]), StuName = row["StuName"].ToString(), CityCode = row["CityCode"].ToString() }).ToList();
    6             }

    注意代码中,Select和ToList()的使用。

    2、动态类型List,其C#代码如下:

    1             da.Fill(dt);
    2             if (dt.Rows.Count > 0)
    3             {
    4                 var rows = dt.AsEnumerable().Select(row => new  { ID = Convert.ToInt32(row["ID"]), StuName = row["StuName"].ToString(), CityCode = row["CityCode"].ToString() }).ToList();
    5                 foreach (var item in rows)
    6                 {
    7                     Console.WriteLine(item.StuName);
    8                 }
    9             }

    其中rows的每一个元素,均为一个匿名类型的对象。

  • 相关阅读:
    洛谷P6276 [USACO20OPEN]Exercise P(生成函数)
    牛顿迭代求逆元
    线性基求交
    我卷我自己加强
    AGC013 简要题解
    LOJ#6074 「2017 山东一轮集训 Day6」
    JAVA根据下载地址获取文件的Base64
    JS 作用链,箭头函数 this 取值
    Leetcode 1249 移除无效的括号
    Vue的数据绑定
  • 原文地址:https://www.cnblogs.com/SharpL/p/4684724.html
Copyright © 2011-2022 走看看