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