public long?Bind(long QQ, long uid, string source) { long?previous; lock (BindData) { try { previous = BindData[QQ].Uid; BindData[QQ] = new BindingData(uid, source); } catch (KeyNotFoundException) { previous = null; BindData.Add(QQ, new BindingData(uid, source)); } } CommitBind(); return(previous); }