假设我有一个包含五列的DataTable。我很好奇,为什么以下工作:使用SetOrdinal将列添加到DataTable
dt.Columns.Add("Blah").SetOrdinal(5);
但下面抛出ArgumentOutOfRangeException
:
dt.Columns.Add("Blah").SetOrdinal(dt.Columns.Count);
我也试过
dt.Columns.Add("Blah").SetOrdinal(dt.Columns.Count - 1);
其工作原理,但我不完全确定为什么。它是否与执行SetOrdinal
之前添加的列有关,从而增加了超出列范围的计数?
很好的解释,谢谢。避免不太清楚代码的好建议。 – 2012-04-23 21:29:55
这是有点旧,但我认为你的意思是: dt.Columns.Add(“Blah”); dt.Columns [“Blah”]。SetOrdinal(dt.Columns.Count-1); 但是,真的这是一个NOP,因为无论如何,新列将被添加到结尾。这将是一个更有趣的示例,它将新列移到开头: dt.Columns.Add(“Blah”); dt.Columns [“Blah”]。SetOrdinal(0); – 2016-08-11 18:21:54
我试图得到更好的格式,但我想我不能。 – 2016-08-11 18:27:22