gpt4 book ai didi

c# - 如何在 C# 中将 List 转换为 List

转载 作者:太空狗 更新时间:2023-10-29 21:17:29 27 4
gpt4 key购买 nike

我在运行时创建一个动态列表,执行后我需要将该列表分配给我的类属性

List<tblchargemaster> charge = new List<tblchargemaster>();

charge = (List<tblchargemaster>) ObjDB.SelectQuery("tblchargemaster");

tblchargemaster是类类型,SelectQuery函数返回 List<dynamic> .如何将此动态列表转换为具有我的类类型的列表?

     public List<dynamic> SelectQuert(string TableName)
{
Conn.Open();

DataTable dt = new DataTable("map");

string Query = "Select * from " + TableName;
MySqlDataAdapter dr = new MySqlDataAdapter(Query, Conn);
dr.Fill(dt);

List<dynamic> dynamicDt = dt.ToDynamic();

Conn.Close();

return dynamicDt;
}

而通用类是

    public static class DataTableExtensions
{
public static List<dynamic> ToDynamic(this DataTable dt)
{
var dynamicDt = new List<dynamic>();
foreach (DataRow row in dt.Rows)
{
dynamic dyn = new ExpandoObject();
foreach (DataColumn column in dt.Columns)
{
var dic = (IDictionary<string, object>)dyn;
dic[column.ColumnName] = row[column];
dynamicDt.Add(dyn);
}
}
return dynamicDt;
}
}

最佳答案

已编辑,因为不支持从动态类型显式转换为强类型。

var charge = ObjDB.SelectQuert("tblchargemaster").Cast<tblchargemaster>();

变成:

var charge = ObjDB.SelectQuert("tblchargemaster").Select(CastDynamicTo<tblchargemaster>)

鉴于CastDynamicTo<tblchargemaster>Is there a way to convert a dynamic or anonymous object to a strongly typed, declared object? 的帮助下实现

关于c# - 如何在 C# 中将 List<dynamic> 转换为 List<OurClass>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23628665/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com