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

时间:2015-08-08 05:54:23

标签: c# lambda visual-studio-2015 visual-studio-debugging

我正在尝试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"))

1 个答案:

答案 0 :(得分:2)

Visual Studio 2015 Update 1 hs修复此问题。所以我认为这解决了。感谢