c#中的lambda表达式动态构建模糊查询?

类似这样的lambda表达式,XXX,YYY,ZZZ可能是任何可ToString()类型的数据,但基本都是值类型,不会有引用类型。

曾尝试过用Expression.Add(),但碰到字符串就提示没有用于字符串的算术加运算之类的错误,看来这个是用来作算术运算的,用于属于值拼接的没有找到是哪个方法

首先,所有的c#数据类型都源自object,所以所有的c#数据类型都具有object的ToString()方法。
其次,既然你的目的是字符串拼接,就不要使用+运算符重载,否则编译器怎么会知道你想要的是一个int.ToString()后的+,而不是int的+呢?我猜测老兄以前多半用过VB之类的弱类型语言,所以会有这样的使用习惯。
正确的思路是,你要明确告诉编译器,我现在要的是各种数据向字符器的转换,而且是隐式转换。换句话说,除了string类型,其余的都要调用相应类型的ToString()重载。一个简单的办法是这样写:
这样编译器就知道t要返回一个模板字符串,自然其中的每个参数都应当是string类型,所以编译器就会自动向string进行隐式转换,过程如前所述。

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 hbase模糊查询 的文章

 

随机推荐