c# – Visual Studio 2015 Convert.ToDouble在尝试观察lambda表达式时出错

我正在尝试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修复此问题.所以我认为这解决了.谢谢

点赞