C#动态lamada表达式like模糊查询,如果值是int类型,表达式要怎么写呢? 10

expRes=Expression.Call(member,typeof(string).GetMethod("Contains"),Expression.Constan... expRes = Expression.Call(member, typeof(string).GetMethod("Contains"), Expression.Constant(strValue));
如果是传的值是int类型会报错说int类型没有Contains方法,请问int类型怎么模糊查询
有没有大神能解决的,谢谢了!

几天了,没有高手能解决吗!!!!
展开
 我来答
376710727
2016-11-16 · TA获得超过8937个赞
知道大有可为答主
回答量:2593
采纳率:100%
帮助的人:1238万
展开全部
string 提供的Contains函数是包含查询,也就是一般说的模糊查询。
Contains的处理机制( 如 abcde.Contains(a)),你可以看做把一个字符串当成一个单字数组:
string[5] {a,b,c,d,e }; 然后进行Count(x=>x == "a") >0 的判断。

但是int32类型在内存上只有4KB,存储的格式和string也完全不一样,自然不能一个字一个字的去处理。

把你要匹配的int字段.ToString() ; 就可以用Contains了
更多追问追答
追问
你说我知道,就是不知道怎么把左边的member的值给ToString()
追答
expRes = Expression.Call(Convert.ToString(member), typeof(string).GetMethod("Contains"), Expression.Constant(strValue));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式