现在有个实体类model 它有些属性比如:id,day,name
model m=new model();
m.Day=111;
m.Name="333";
现在我有个条件 “day>10” 或者“ Name=“333” ”是一个字符串的条件
程序要怎么判断我这实体类满足这条件
用正则表达式:
Model model = new Model { Day = 111, Name = "3333" };
// 匹配大于 100 的正整数。
string dayPattern = @"^([2-9][0-9][0-9](\d+)?)|([1][0-9][1-9])|([1][0-9][0-9]\d+)|([1][1-9][0])$ ";
Regex dayRegex = new Regex(dayPattern);
if (dayRegex.IsMatch(model.Day.ToString()))
{
}
// 匹配 333 字符串。
string namePattern = @"^333$";
Regex nameRegex = new Regex(namePattern);
if (nameRegex.IsMatch(model.Name))
{
}
你的判断条件“day>10” 或者“ Name=“333”不会是从sql语句中摘出来的吧?
如果是的话,你可以在内存总构造一个DataTable,然后使用DataTable.Select,把你的查询语句填写进去就OK了。
你可以在实体类中用 get{} set{} 读写器进行控制啊
model m=new model();
if(tempStr ==“day>10” )
{
//do something
}
else if(tempStr=="Name=\"333\"")
{
//do something
}
可以把问题描述清楚点么?
可以写个 验证 值范围的 Attribute 这样就可以重用。
public List<Area> GetAreaListFindByParentID(string filter)
{
return GetAreaList().FindAll(
delegate(Area ar)
{
return ar.Area_FatherID == filter;
}
);
}
以上是查找List<Area>中父ID为传入条件的集合,谨供参考
应用场景:
http://www.cnblogs.com/downmoon/archive/2010/06/15/1758675.html
把实体类存储到 DataTable 中,然后用 DataTable.Select 来获取,Select 方法可以输入 sql 查询条件。
把数据查到DataTable里,然后序列化为泛型对象,再序列化的时候,把值截赋给实体类属性,再做你的判断。