将数据表/数据行[]列从字符串转换为int
问题描述:
我有一个名为“位置”的列作为字符串出现在数据表中。我使用DataTable.Select来获取数据行的列表。将数据表/数据行[]列从字符串转换为int
DataRow[] drTopMenu = dtMenuItems.Select("ParentMenuID is null", "Position asc");
然而,位置是1,2,...,9,10和数据行阵列自带分类为1,10,2,3,...,9。 如何解决这个?有没有一种方法可以在过滤/排序之前将“位置”列的数据类型从字符串更改为int?
答
不确定效率,并假定位置列将始终包含一个int。
DataRow[] drTopMenu = dtMenuItems
.Select("ParentMenuID is null")
.OrderBy(x => int.Parse((string)x["Position"]))
.ToArray();