-1

リストに値を追加するための次のコードがあります。

public class Temp  {
     public object Id { get; set; }
     public object Amount { get; set; }
     public object TrasactionDateTime { get; set; } 
    }  

private List<Temp> list = new List<Temp>();

追加する

list.Add(new Temp{ Id = GetData["Id"], Amount = GetData["Amount"],      TrasactionDateTime = GetData["TransactionDateTime"] }); 

リストからアイテムを削除するにはどうすればよいですか?

list.Remove(Id = "1"); 
4

4 に答える 4

3

リストからアイテムを見つけてId = "1"削除する必要があります。

var item = list.FirstOrDefault(r=> r.Id.ToString() == "1");
if(item != null)
    list.Remove(item);

を使用して、インデックスに基づいてアイテムを削除することもできますList<T>.RemoveAt()

于 2013-02-22T06:14:05.047 に答える
1

.Findを使用してみてください

指定された述語によって定義された条件に一致する最初の要素(見つかった場合)。それ以外の場合、タイプTのデフォルト値。

List<Temp> list = new List<Temp>();
var f = list.Find(c => c.Id == 1);
if (f == null) return;
var x = list.Remove(f);
于 2013-02-22T06:16:47.340 に答える
1
list.RemoveAll (s => s.Id == "1"); // remove by condition

これにより、指定された ID を持つすべての一時が削除されることに注意してください。

id で見つかった最初の一時を削除する必要がある場合は、最初に First メソッドを使用して一時を見つけてから、そのインスタンスに対して Remove を呼び出します。

var firstMatch = list.First (s => s.Id == "1");
list.Remove (firstMatch);

削除する前に、指定された id を持つ temp が 1 つだけであることを確認するには、Single を同様の方法で使用します。

var onlyMatch = list.Single (s => s.Id == "1");
list.Remove (onlyMatch);

述語に一致するアイテムが 1 つだけ存在しない場合、Single 呼び出しは失敗することに注意してください。

于 2013-02-22T06:21:08.647 に答える
1
list.RemoveAll(s => s.Id == "1");
于 2013-02-22T06:18:38.033 に答える