我有以下的最終代碼:我不能轉換列表<object[]>列出<T[]>在C#
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
}
我對那些能滿足我的鑄造通用陣列的目標其他建議。 謝謝!
我得到了同樣的錯誤:不能隱式地將類型'object []'轉換爲'T []' – postos 2014-10-16 12:13:25
@postos請再試一次,添加一個轉換應該可以做到。 – dasblinkenlight 2014-10-16 12:16:20