gpt4 book ai didi

c# - 我无法在 C# 中将 list 转换为 list

转载 作者:太空狗 更新时间:2023-10-30 00:40:35 30 4
gpt4 key购买 nike

我有以下最终代码:

SqlDataReader dataReader;
dataReader = cmd.ExecuteReader();
// var list = new List<string[]>();
List<T[]> list = new List<T[]>();

while (dataReader.Read())
{
// var row = new string[dataReader.FieldCount];
//object[] row new object;
T[] bass;
object[] row = new object[dataReader.FieldCount];
dataReader.GetValues(row);
bass = (T[]) Convert.ChangeType(row,typeof(T[]));
list.Add(bass);
}

我一直尝试以不同的方式将对象数组转换为 T 泛型类型数组,但我没有成功。对于较早的代码,我得到一个运行时错误:对象必须实现 IConvertible。我在定义类时对泛型类型进行了约束:

class Cclass<T>: Iinterface<T> where T:IConvertible
{
//body
}

我愿意接受可以实现我转换为通用数组的目标的其他建议。谢谢!

最佳答案

您可以使用 Linq:

  bass = row
.Select(x => (T)Convert.ChangeType(x, typeof(T)))
.ToArray();

关于c# - 我无法在 C# 中将 list<object[]> 转换为 list <T[]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26403992/

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