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); } }