现在的位置: 首页 > 综合 > 正文

以下这段代码是一个内存缓存,对于数据较少时很有用

2016年12月29日 ⁄ 综合 ⁄ 共 1454字 ⁄ 字号 评论关闭
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";

抱歉!评论已关闭.