读书人

嘱托 事件?

发布时间: 2012-08-11 20:50:31 作者: rapoo

委托 事件??

C# code
        public class obj    {        public Int64 guid;        public int height;        public string name;        //其它属性        public static Dictionary<Int64,obj> GetObjects(Dictionary<Int64,obj>,。。。)        {            //其它属性判断            //        }    }


有这样的一个字典Dictionary<Int64, obj>,字典里的Int64是对象实例的标识
有一个方法想得到指定的对象,比如:20<height<40,或者 name=="xxx"(这样的对象可能有多个)
public Dictionary<Int64, int> GetObjects(.....)
请问这个方法该怎么写?

[解决办法]
public static Dictionary<Int64,obj> GetObjects(Dictionary<Int64,obj> dict, Predicate<Int64, obj> predicate)
{
return dict.Where(x => predicate(x.Key, x.Value)).ToDictionary(x => x.Key, x => x.Value);
}
使用:
var result = obj.GetObjects(dict, (x, y) => x > 20 && x < 40 && y == "xxx");

读书人网 >C#

热点推荐