我使用以下代码转换Dataset为IList.有没有更好的方法来编写下面的代码:
IList lst = new List<object>();
var tbl = dsList.Tables[0];
foreach (DataRow dr in tbl.Rows)
{
lst.Add(dr.ItemArray);
}
Run Code Online (Sandbox Code Playgroud)
using System.Linq;
IList<object> lst = dsList.Tables[0].Rows.OfType<DataRow>().Select(x => x.ItemArray).ToList();
Run Code Online (Sandbox Code Playgroud)
只需在集合中使用System.Link的Select()方法即可.这是一个扩展方法,可以在任何方法上调用(也可以在任何直接或通过继承实现该接口的对象上).RowstableIEnumerable<T>
如果你没有IEnumerable<T>查询,而不是简单IEnumerable(非泛型),你可以使用调用.OfType()的技巧,它返回通用实例.
如果要展平可枚举,可以使用SelectMany().
如果你坚持使用pre-linq .NET,你必须有一个循环.
| 归档时间: |
|
| 查看次数: |
1650 次 |
| 最近记录: |