我正在尝试VS 2015,并且每个人都知道最酷的功能之一就是能够在观察窗口中观看lambda表达式.
我创建了一个控制台应用程序来测试它,这里是代码.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WatchLambdaExpressions
{
class Program
{
static void Main(string[] args)
{
var books = new List<Book>() {new Book()
{
Author="J.K.Rowling",
Rating="5",
Title="Harry Potter"
},
new Book()
{
Author="Baroness Orczy",
Rating = "4.8",
Title="Scarlet Pimpernell"
},
new Book()
{
Author = "J.R.R.Tolkein",
Rating="5",
Title="Lord of the Rings"
},
new Book()
{
Author="Alexander Dumas",
Rating="4.9",
Title="Count of Monte Cristo"
},
new Book()
{
Author="Robert Ludlum",
Title = "Bourne Identity",
Rating = "4.6"
}
};
var selectedBooks = books.Where(b => Convert.ToDouble(b.Rating) >= 4.8);
}
}
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
public string Rating { get; set; }
}
}
我在调试模式下运行程序,并在Main方法的退出点处有一个断点.
好的,现在我去观察窗口写道:
books.Where(b => Convert.ToDouble(b.Rating) >= 4.8)
我希望上面的内容能够评估和过滤,并向我展示一个评级> = 4.8的图书清单,但它显示了
Error: The debugger is unable to evaluate this expression
你知道为什么吗?
我可以看到其他lambda表达式.
这很好用:
books.Where(b => b.Title.Contains("Harry"))
最佳答案 Visual Studio 2015 Update 1 hs修复此问题.所以我认为这解决了.谢谢