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

来源:互联网 发布:天气软件手机版 编辑:程序博客网 时间:2024/05/17 09:33

 

 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();
                }
                privatestaticbool MatchPRE(decimal p)//条件匹配函数,list1中每个元素都会传入P中

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

 

 

原创粉丝点击