我试图理解表达式.我正在点击可怕的"参数未绑定在指定的LINQ to Entities查询表达式"异常.我见过Skeet以及其他人在线回答这个问题.但是,我只是无法"看到"问题.我正在使用Colin Meek的例子http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx和Matt Warren的VisitorExpression类http:// blogs. msdn.com/b/mattwar/archive/2007/07/31/linq-building-an-iqueryable-provider-part-ii.aspx.我在VS 2010中使用控制台应用程序,框架4.0.对不起,如果这是因为之前有人被问过,那就是打死了马.谢谢你的帮助.
为了彻底,所有代码如下:
class Program
{
static void Main(string[] args)
{
Expression<Func<Car, bool>> theCarIsRed = c => c.Color == "Red";
Expression<Func<Car, bool>> theCarIsCheap = c => c.Price < 10.0;
Expression<Func<Car, bool>> theCarIsRedOrCheap = theCarIsRed.Or(theCarIsCheap);
Car one = new Car() { CarId = 1, Color = "Red", Price = 10.0 };
Car two = new Car() { CarId = 2, Color = "Blue", Price = 9.0 };
Car three = new …Run Code Online (Sandbox Code Playgroud) 试图弄清楚如何让null合并运算符在foreach循环中工作.
我正在检查字符串的结尾并基于此,将其路由到某个方法.基本上我想说的是....
foreach (String s in strList)
{
if s.EndsWith("d") ?? Method1(s) ?? Method2(s) ?? "Unknown file type";
}
Run Code Online (Sandbox Code Playgroud)
在尝试这样做时,当然你得到"运算符??不能用于类型bool和类型字符串." 我知道还有其他方法可以做到这一点,只是想看看如何使用null合并来完成它.
周末愉快.
@Richard Ev:哦,当然是的.切换,如果不是,等等只是好奇如何处理它
@Jon Skeet:看完你的评论后,它打了我,这真是太糟糕了!我基本上对两个文件扩展感兴趣.例如,如果文件以"abc"结尾,则发送到方法1,如果文件以"xyz"结尾发送到方法2.但是如果文件以"hij"的扩展名结束,那么该怎么办...繁荣,你是完成.
感谢Brian和GenericTypeTea以及尽管输入
我满足于称它已关闭.