public bool Del(MailAddress mailAddress) { lock (SyncObj) { for (var i = 0; i < _ar.Count; i++) { if (!mailAddress.Compare(_ar[i].MailAddress)) continue; _ar.RemoveAt(i); return true; } } return false; }
//見つからないとき、nullを返す public OneSubscribe Search(MailAddress mailAddress) { lock (SyncObj) { for (var i = 0; i < _ar.Count; i++) { if (!mailAddress.Compare(_ar[i].MailAddress)) continue; if (_ar[i].Dt.AddMilliseconds(_effectiveMsec) > DateTime.Now) { return _ar[i];//経過時間内のデータなので有効 } _ar.RemoveAt(i);//経過時間を超えた情報は削除される return null; } return null; } }