-2

Remove& RemoveAtin はどう違いListBoxますか?

4

2 に答える 2

7

まず第一に、 がある場合、ListBox listBox;メソッドlistBoxまたは はありませRemoveRemoveAtlistBox.Items.Remove(...)またはになりますlistBox.Items.RemoveAt(...)。ここでは in を使用していると仮定しListBoxますSystem.Windows.Forms

Removeここで、との違いはRemoveAt、リストから削除するアイテムを取得するのに対し、インデックスを取得することです。

より明確にするために、List<int> list = new List<int>(new int[] { 10, 20, 30, 40 });. C# ではすべてがゼロベースであるため、インデックス 0 のリスト10の値は 、インデックス 1 の値は20などです。

Lists は s と同じようにandメソッドObjectCollectionを持っています。単純なリストの場合、呼び出すと、リスト内で最初に見つかった が削除されます。が削除されてからの要素になります。RemoveRemoveAtlist.Remove(20);20list{ 10, 30, 40 }20

を呼び出す代わりに を呼び出すとRemove、リストに対して同じことが行われます。インデックスのリスト要素を削除しています: この場合、.listlist.RemoveAt(1);120

于 2013-03-25T23:30:37.080 に答える