// Code #01
IList products = new List();
products.Add(GetProduct("1412"));
products.Remove(GetProduct("1412"));
Console.WriteLine(products.Count); // 輸出 1 (預期 0)
// Code #02
class Product
{
public Product(string id) { m_ID = id; }
private string m_ID;
public string ID { get { return m_ID; } }
public override string ToString() { return "ID: " + m_ID; }
}
// Code #03
public static Product GetProduct(string id); // 從資料庫讀取並建構新實例
// Code #04
Console.WriteLine(products.Count); // 驗證是否真正移除
Add 加入實例 ARemove 傳入實例 B (同 ID 不同參考)List.Remove 使用預設相等比較 (參考相等)檢視 SDK 文件確認 List<T>.Remove 相等比較機制,尋找解決方案 (詳見第 2 部分)。