我原来是一个C#开发人员(作为一个爱好),但是最近我一直在深入研究Ruby on Rails并且非常享受它。现在我正在用C#构建一个应用程序,我想知道是否有任何C#的集合实现可以匹配(或“半匹配”)ActiveRecord的find_by方法。
我基本上寻找的是一个包含Rectangles
的列表:
class Rectangle
{
public int Width { get; set; }
public int Height { get; set; }
public string Name { get; set; }
}
我可以在哪里查询此列表,并查找包含Height = 10
,Width = 20
或name = "Block"
的所有条目。通过执行类似于Rectangle.find_by_name('Block')
的调用,使用ActiveRecord完成此操作。我能想到在C#中执行此操作的唯一方法是创建自己的列表实现并迭代遍历每个项目,根据条件手动检查每个项目。我担心我会重新发明轮子(质量较差)。
我不一定要尝试匹配命名约定find_by_...
,而是要拥有该方法的功能。
非常感谢任何意见或建议。
答案 0 :(得分:2)
.NET 3.5中添加的“Linq方法”,即Where,与您正在寻找的内容非常接近。
myCollection.Where(r => r.Name == 'Block')