以下這段代碼是一個內存緩存,對於數據較少時很有用

C# code
public class accessInfo { private AccountAccessInfo Info; private IList<AccountAccessInfo> infoList; //數據緩存 public accessInfo() { Info = null; infoList = new List<AccountAccessInfo>(); } /// <summary> /// 緩存中的記錄數量 /// </summary> public int coun { get { return infoList.Count; } } /// <summary> /// 緩存中的記錄 /// </summary> public AccountAccessInfo accountAccessInfo { get { return Info; } } /// <summary> /// 讀取數據 /// </summary> /// <returns></returns> public bool read() { bool bo; lock (infoList) { if (infoList.Count > 0) { Info = infoList[0]; infoList.RemoveAt(0); bo = true; } else { Info = null; bo = false; } } return bo; } /// <summary> /// 將數據寫入緩存中 /// </summary> /// <param name="info">數據的實體類</param> public void write(AccountAccessInfo info) { lock (infoList) { infoList.Add(info); } } } /// <summary> /// 客戶接入信息的實體類 /// </summary> [Serializable] public class AccountAccessInfo { private string sBindingsAdd; private string sBindingsPort; /// <summary> /// 客戶接入信息的實體類的構造函數 /// </summary> /// <param name="BindingsAdd">綁定地址</param> /// <param name="BindingsPort">綁定端口</param> public AccountAccessInfo(string BindingsAdd, string BindingsPort) { sBindingsAdd = BindingsAdd; sBindingsPort = BindingsPort; } /// <summary> /// /// 綁定地址 /// </summary> public string bindingsAdd { get { return sBindingsAdd; } } /// <summary> /// 綁定端口 /// </summary> public string bindingsPort { get { return sBindingsPort; } } }


使用示例
C# code
accessInfo myacc = new accessInfo(); AccountAccessInfo info = new AccountAccessInfo("abc", "bcd"); myacc.write(info); myacc.write(info); myacc.write(info); while (myacc.read()) textBox1.Text += myacc.accountAccessInfo.bindingsAdd+"/r/n";
發佈了30 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章