C#中TList的应用问题

本文详细介绍了如何使用TList处理自定义类和对象型元素,包括添加、操作元素以及排序方法。重点阐述了如何将自定义类实例添加到TList中,并展示了如何对对象型元素进行直接操作或通过临时变量进行间接操作。同时,文章还提供了TList排序的实现方法,使读者能够更好地理解和应用TList在实际项目中的功能。

 作者:asp.net文件下载技术 - xiaoma - xiaoma的博客

  1. TList是线程安全的,即在线程中添加,删除元素不用考虑数据冲突问题,TList会自己处理.
  2. 创建一个包含自定义类的List
           class CTagID
            {
                public string ReaderID = "";
                public string TagID = "";
                public DateTime FirstTime = DateTime.MinValue;
                public DateTime LastTime = DateTime.MinValue;
            }
           static List<CTagID> TagIDList = new List<CTagID>();//声明静态对象列表
  3. 向列表中添加元素:
                       CTagID tmpTagIDInfo = new CTagID();
                       DateTime tmpDate = DateTime.Now;
                        tmpTagIDInfo.ReaderID = p_ReaderID;
                        tmpTagIDInfo.TagID = p_TagID;
                        tmpTagIDInfo.FirstTime = tmpDate;
                        tmpTagIDInfo.LastTime = tmpDate;
                        TagIDList.Add(tmpTagIDInfo);
  4. 操作TList中的元素
    对于对象型元素,可以直接操作:
         TagIDList[tmpIndex].LastTime = DateTime.Now;
    如果元素是结构型的,则需要先把元素赋给临时变量,操作临时变量,然后再把临时变量赋给元素.如:
        struct info
        {
           public string  qq;
           public string tel;
           public info(string a, string b)
           {
               qq = a;
               tel = b;
           }
        }
       
        List<info> cc = new List<info>();
        cc.Add(new info("bbbbb","342567"));
       
        var dd = cc[0];//把一个list值赋给一个对象变量,
        dd.qq = "9879";//对新的对象变量赋值
        cc[0] = dd;//把新对象在赋值回这个list
  5. TList的排序
    首先,定义比较两元素的方法:
    private static int Compare(CTagID i1, CTagID i2)
    {
        if (i1.TagID > i2.TagID) return 1;
        if (i1.TagID < i2.TagID) return -1;
        return 0; //相等
    }
    然后使用这个方法进行排序:
    TagIDList.Sort(Compare);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值