委托 事件??
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");