3

(Windows フォーム)のIList<T>として使用する場合、 の要素の順序は同じままであると仮定できますか?DataSourceBindingSourceBindingSource.PositionList.IndexOf()

Findno であるリストではサポートされていないため、これは私にとって重要です。BindingListそのため、昔ながらのIList.IndexOf方法を使用して要素の位置を決定します。

myBindingSource.Position = myItemList.IndexOf(myItem);

どうやらこれはうまくいきます。しかし、実際にこれに依存して機能することができるかどうかをまだ把握できていないかどうかはわかりません。BindingList'sListプロパティはデータを新しいリスト構造にコピーするため、少し心配です(DataSource備考を参照)...

乾杯、マティアス

4

1 に答える 1

1

はい、IList<T>常に同じ順序を維持する必要があります。これは (追加機能の観点から) 一歩IEnumerable<T>進んだものであり、順序付けを保証するものではなく、コレクションを列挙する機能だけです。 やIList<T>などのより多くの機能をサポートするためにインデックス作成を追加します。これにはインデックス作成が必要です。.IndexOf().RemoveAt()

IList<T>ここで、データ ソースを入力する元のデータ ソースが同じ順序でアイテムを返すかどうかは、別の話です。

于 2011-03-17T10:56:10.573 に答える