泛型之Find方法学习

泛型之Find方法学习

 

using System; using System.Collections.Generic; using System.Text; public class MyClass { public static void Main(string[] args) { // List<Person> pp = GenerateExamplePerson(); ShowPersonList(pp); FindPerson finder = new FindPerson('F', 18, 24, false, 3); List<Person> pp_ok = pp.FindAll(new Predicate<Person>(finder.IsAirhostess)); ShowPersonList(pp_ok); Console.Read(); } public static List<Person> GenerateExamplePerson() { List<Person> list = new List<Person>(); for (int i = 16; i < 32; i++) { int i_random = new Random((int)DateTime.Now.Ticks<<8).Next(); for (int j = 1; j <= 9; j++) { Person p1 = new Person(); p1.CardId = "455453219xxyyzz" + i.ToString() + j.ToString(); p1.Name = "Name" + i.ToString() + j.ToString(); p1.Age = i; p1.Sex = ((j * i_random) % 2 == 0 ? 'F' : 'M'); p1.IsMarried = (i >= 23 ? (j % 2 == 0 ? false : true) : false); p1.FeaturesLevel = (j - 5); list.Add(p1); }//for int i_random2 = new Random(DateTime.Now.Millisecond).Next(); for (int j2 = 1; j2 <= 9; j2++) { Person p2 = new Person(); p2.CardId = "663674219aabbcc" + i.ToString() + j2.ToString(); p2.Name = "Name" + i.ToString() + j2.ToString(); p2.Age = i; p2.Sex = ((j2 * i_random2) % 2 == 0 ? 'M' : 'F'); p2.IsMarried = (i >= 23 ? (j2 % 2 == 0 ? true : false) : false); p2.FeaturesLevel = (j2 - 5); list.Add(p2); }//for }//for return list; } public static void ShowPersonList(List<Person> list) { int iCount = list.Count; Console.WriteLine("begin,the count = " + iCount.ToString() + "------------------------------"); foreach (Person p in list) { Console.WriteLine(p.ToStringInfo()); } Console.WriteLine("------------------------------end"); } } public class Person { public string CardId { get { return _cardid; } set { _cardid = value; } } private string _cardid; public string Name { get { return _name; } set { _name = value; } } private string _name; //male/female,boy/girl,man/woman, public char Sex { get { return _sex; } set { _sex = value; } } private char _sex; public int Age { get { return _age; } set { _age = value; } } private int _age; public bool IsMarried { get { return _ismarried; } set { _ismarried = value; } } private bool _ismarried; //-4 ~ 4 public int FeaturesLevel { get { return _featureslevel; } set { _featureslevel = value; } } private int _featureslevel; public string ToStringInfo() { StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0},{1}({2},{3},{4},{5})", this.CardId, this.Name, this.Sex, this.Age, this.IsMarried, this.FeaturesLevel); return sb.ToString(); } } public class FindPerson { private char sex; private int age_begin; private int age_end; private bool ismarried; private int featureslevel; public FindPerson(char sex, int age_begin, int age_end, bool ismarried, int featureslevel) { this.sex = sex; this.age_begin = age_begin; this.age_end = age_end; this.ismarried = ismarried; this.featureslevel = featureslevel; } public bool IsAirhostess(Person person) { bool b = true; b = b && (person.Sex == sex); b = b && (person.Age >= age_begin && person.Age <= age_end); b = b && (person.IsMarried == ismarried); b = b && (person.FeaturesLevel >= featureslevel); return b; } }

 

 

转载于:https://www.cnblogs.com/TangZhongxin/archive/2009/04/29/3942593.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值