我在以下代码中获得了Exception,我该如何解决?
DataTable RDT = new DataTable();
RDT = ds.Tables[0];
List<int> result = new List<int>();
Random rand = new Random();
result.Add(Convert.ToInt32(RDT.AsEnumerable().OrderBy(r => rand.Next())));
最后一行有例外:
Unable to cast object of type 'System.Data.OrderedEnumerableRowCollection`1[System.Data.DataRow]' to type 'System.IConvertible'.
答案 0 :(得分:2)
DataTable RDT = new DataTable();
RDT = ds.Tables[0];
Random rand = new Random();
List<int> result = RDT.AsEnumerable()
.Select(row => Convert.ToInt32(row[0]))
.OrderBy(r => rand.Next())
.ToList();
您需要转换每行的第一个字段,或者完整的行集合。
别忘了using System.Linq