我正在尝试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)
我希望以上内容能够评估和过滤,并向我展示评级&gt; = 4.8的书籍列表,但它显示
错误:调试器无法评估此表达式
你知道为什么吗?
我能够观察其他lambda表达式。
这很好用:
books.Where(b => b.Title.Contains("Harry"))
答案 0 :(得分:2)
Visual Studio 2015 Update 1 hs修复此问题。所以我认为这解决了。感谢