天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

對ArrayList中的自定義類型進行搜索

一般情況下我只需要使用ArrayList.Contains()方法就可以判斷某個元素是否存在,但如果ArrayList中的為自定義的類就需要自己實現,如下面例子:

如我們有一個類:

public class Employee{     public int EmployeeID     {            get;set;     }     public string EmployeeName     {           get;set;     }     public DateTime BirthDate     {           get; set;     }
}

我們要實現對ArrayList中存儲Employee 進行查找。先定義兩個枚舉:

public enum MemType{    IntegerType = 1, StringType = 2, DateTimeType = 3, BooleanType = 4};public enum CmpOperator{    GreaterThan = 1, LessThan = 2, EqualTo = 3}

下面是具體實現:

public static int Search(ArrayList objArr, string valueToSearch, string FieldName, MemType memType, CmpOperator comOp){    if (memType == MemType.StringType || memType == MemType.BooleanType)    {        comOp = CmpOperator.EqualTo;    }    for (int i = 0; i < objArr.Count; i++)    {        Type t = objArr[0].GetType();        System.Reflection.FieldInfo[] arrInner = t.GetFields();        System.Reflection.PropertyInfo PI = t.GetProperty(FieldName);        string str = PI.GetValue(objArr[i], null).ToString();        switch (memType)        {            case MemType.BooleanType:                if (Convert.ToBoolean(str) == Convert.ToBoolean(valueToSearch))                {                    return i;                }                break;            case MemType.DateTimeType:                switch (comOp)                {                    case CmpOperator.EqualTo:                        if (Convert.ToDateTime(str).CompareTo(Convert.ToDateTime(valueToSearch)) == 0)                        {                            return i;                        }                        break;                    case CmpOperator.GreaterThan:                        if (Convert.ToDateTime(str).CompareTo(Convert.ToDateTime(valueToSearch)) > 0)                        {                            return i;                        }                        break;                    case CmpOperator.LessThan:                        if (Convert.ToDateTime(str).CompareTo(Convert.ToDateTime(valueToSearch)) < 0)                        {                            return i;                        }                        break;                }                break;            case MemType.IntegerType:                switch (comOp)                {                    case CmpOperator.EqualTo:                        if (Convert.ToInt32(str) == Convert.ToInt32(valueToSearch))                        {                            return i;                        }                        break;                    case CmpOperator.GreaterThan:                        if (Convert.ToInt32(str) > Convert.ToInt32(valueToSearch))                        {                            return i;                        }                        break;                    case CmpOperator.LessThan:                        if (Convert.ToInt32(str) < Convert.ToInt32(valueToSearch))                        {                            return i;                        }                        break;                }                break;            case MemType.StringType:                if (str.Contains(valueToSearch))                {                    return i;                }                break;        }    }    return -1;}

測試代碼如下:

static void Main(string[] args) {     ArrayList al = new ArrayList();     Employee emp1 = new Employee();     emp1.EmployeeID = 2;     emp1.EmployeeName = "cary";                emp1.BirthDate = new DateTime(1982, 4, 1);     Employee emp2 = new Employee();     emp2.EmployeeID = 3;     emp2.EmployeeName = "james";                emp2.BirthDate = new DateTime(1983, 4, 1);     al.Add(emp1);     al.Add(emp2);     int searIndex = Search(al, "3", "EmployeeID", MemType.IntegerType, CmpOperator.EqualTo);     Console.WriteLine(searIndex);     Console.ReadLine();         }

NET技術對ArrayList中的自定義類型進行搜索,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本中文字幕巨大的乳专区 | 又粗又大又爽又黄的免费视频 | 国产午夜电影在线观看不卡 | 999在线观看精品免费 | 爱穿丝袜的麻麻3d漫画acg | 亚洲精品视频在线观看视频 | WWW国产精品内射熟女 | 一区二区三区无码被窝影院 | 妺妺窝人体色777777野大粗 | 999久久久国产精品蜜臀AV | 亚洲一日韩欧美中文字幕在线 | 久久成人a毛片免费观看网站 | 果冻传媒2021在线观看 | 丰满女朋友在线观看中文 | 亚洲综合久久一本伊伊区 | 海角国精产品一区一区三区糖心 | 人成片在线观看亚洲无遮拦 | 99蜜桃在线观看免费视频网站 | 少妇一夜未归暴露妓女身份 | 耻辱の奴隷淑女中文字幕 | 久久人妻少妇嫩草AV蜜桃35I | 把内衣脱了把奶露出来 | 999国产高清在线精品 | 国产精品免费视频能看 | 4399日本电影完整版在线观看免费 | 精品日韩二区三区精品视频 | 美女禁处受辱漫画 | 在线天天看片免费视频观看 | 亚洲xxxx动漫 | 国产成人国产在线观看入口 | 抽插内射高潮呻吟V杜V | 国产精品久久久久久免费播放 | 棉签和冰块怎么弄出牛奶视频 | 亚洲精品一二三区-久久 | 亚洲免费黄色 | 男女高潮又爽又黄又无遮挡 | 94色94色永久网站 | 91av电影在线观看 | 91亚洲 欧美 国产 制服 动漫 | 国产精品日韩欧美一区二区三区 | 草民电影网午夜伦理电影网 |