c# DataTable中使用排序的时候注意事项

背景:

在项目使用DataTable的时候,使用到了其中ExtendedProperties的属性,但是之后出了问题:在排序之后ExtendedProperties的自定义的键值丢失了,代码如下:

误:

dt.ExtendProperties["test"]="OK";
dv = New DataView(dt)
dv.Sort = "id desc"
dt = dv.ToTable();

最后dt的ExtendedProperties丢失了。

正确的做法如下,不需要重新生成DataView和DataTable

正:

dt.DefaultView.Sort = "id desc"

以上的代码,经过验证可以保存ExtendedProperties不丢失。

横斩:

在以后处理其他数据结构的时候,如果出现了“再生”对象的代码,需要确认是否有其他信息丢失的问题。

原文地址:https://www.cnblogs.com/fenqi/p/5558233.html