泛型与cache互转,并判断元素是否存在的方法

 

 protected void Page_Load(object sender, EventArgs e)
    {
//存
        List<Guid> sessionIDLists = new List<Guid>();
        sessionIDLists.Add(new Guid("080F28AD-8A64-45A5-9CA2-03ECCAA12ADE"));
        sessionIDLists.Add(new Guid("ADAAD247-E7F9-4FB1-896D-0F7695009488"));
        sessionIDLists.Add(new Guid("357CFB6B-040E-45DF-BD8B-10B882142FBF"));
        sessionIDLists.Add(new Guid("01782AF2-29E2-49FD-8D68-256BCEB29940"));
        Cache["sessionIDLists"]=sessionIDLists;
       // Cache.Add("sessionIDLists", sessionIDLists, mydepen, DateTime.Now.AddSeconds(100), TimeSpan.Zero, CacheItemPriority.Normal, null);



        string sid = "357CFB6B-040E-45DF-BD8B-10B882142FBF";
        if (Cache["sessionIDLists"] != null)
        {
//转化
            List<Guid> sessionIDLists2 = Cache["sessionIDLists"] as List<Guid>;
           // if (MatchGuid(sessionIDLists2, new Guid(sid)))
            if (sessionIDLists2.Contains(new Guid(sid)))
            {
                Response.Write("true");
            }
            else
            {
                Response.Write("false");
            }
        }
           // System.Collections.Generic.List<Guid> sessionIDLists = System.Web.Caching.Cache["sessionIDLists"];
        

    }

//判断是否存在

    //private static bool MatchGuid(List<Guid> lists, Guid sid

    //{     //    bool returnValue = false;     //    foreach (Guid gid in lists)     //    {     //        if (gid == sid)     //        {     //            returnValue = true;     //            break;     //        }     //        else returnValue = false;     //    }     //    return returnValue;

    //}

参考:

C# 中List类的Find、Exists、Sort, 等方法的应用举例

C# 中List类的Find,Exists,FindAll,FindIndex ,FindLast ,FindLastIndex等方法的应用举例

以Exists为例,MSDN中是这样叙述的

  Exists

确定 List<(Of<(T>)>)是否包含与指定谓词所定义的条件相匹配的元素。

 

       我一直都认为编写MSDN文档的人语文是好的令人发指啊!

       相信很多人都深有体会,这里每个字都认识,放一起完全不知所云,看了好多例子才知道是怎么回事,不知道是我肤浅,还是技术总是要深奥。

       总结一下,写了一个通俗点的例子,希望能对看到的人有用。

 

        static void Main( string[] args) //主函数即入口函数,不知道什么意思的面壁吧!
                                {
                                                List< decimal> list1= new List< decimal>(); //此处<>内是泛型的概念,不知道
                                                                            //的话找本教材看下吧,感觉就像是宏

                                                                                                                                                                                                        // 替换
                                                for( int i=0; i<100;i++)                                                //生成链表
                                                {
                                                                list1.Add(i);
                                                }
                                                               

                                                if (list1.Exists(MatchPRE)) //调用方法,谓词匹配函数的调用,这是调用您自定义的函

                                                                                                                                                                                                                                                                                //数MatchPRE
                                                                Console.WriteLine( "ok"); //若list1中存在99,则输出ok
                                                else
                                                                Console.WriteLine( "fail"); //若list1中不存在99,则输出fail
                                                Console.ReadLine();
                                }
                                private static bool MatchPRE( decimal p) //条件匹配函数,list1中每个元素都会传入P中

                                                                                                                                                                                        //匹配后函数返回
                                {
                                              if (p == 99) //此句为匹配条件,如果匹配,返回,你可以随意更改成你想要的值
                                                                return true;
                                                else
                                                {
                                                                return false;
                                                }
                                }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值