5つの列を持つ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
が実行される前に追加されている列と関係があるため、列の範囲を超えて数が増えますか?
さて、あなたに感謝し、説明しました。あまり明確ではないコードを避けるための良いアドバイス。 –
これはちょっと古いですが、あなたはこれを代わりに意味すると思います。 dt.Columns.Add( "Blah"); dt.Columns ["Blah"]。SetOrdinal(dt.Columns.Count-1); 本当にこれはNOPです。なぜなら、新しい列が最後に追加されるからです。これは、新しい列を最初に移動する、より興味深い例です。 dt.Columns.Add( "Blah"); dt.Columns ["Blah"]。SetOrdinal(0); –
私はより良いフォーマットをしようとしましたが、私はできないと思います。 –