定义集合元素的LINQ语句存在问题

时间:2019-05-14 12:24:18

标签: c# linq

我是一名学习Scott Allen的ASP.NET核心基础的复数学生。我在未定义r的LINQ语句中遇到问题。整个文件在下面,但是我实际上仅在最后一部分和定义r时遇到问题。在此文件或到目前为止我使用过的任何其他文件中均未定义r。在视频中,Scott似乎输入r没问题,并且将r识别为餐厅。当我执行相同的操作时,r不会被识别为任何东西,我觉得我在这里缺少为什么r未被识别或我需要在其他地方定义它的一些基本知识。

public interface IRestaurantData
{
    IEnumerable<Restaurant> GetAll();
}
public class InMemoryRestaurantData : IRestaurantData
{
    readonly List<Restaurant> restaurants;
    public InMemoryRestaurantData()
    {
        restaurants = new List<Restaurant>()
        {
            new Restaurant { Id = 1, Name = "Scott's Pizza", Location = "Maryland", Cuisine = CuisineType.Italian},
            new Restaurant { Id = 2, Name = "Cinnamon Club", Location = "London", Cuisine = CuisineType.Indian},
            new Restaurant { Id = 3, Name = "La Costa", Location = "California", Cuisine = CuisineType.Mexican}
        };
    }
    public IEnumerable<Restaurant> GetAll()
    {
        return from r in restaurants
               orderby r.Name
               select r;
    }
}
namespace OdeToFood.Core
{
    public class Restaurant
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Location { get; set; }
        public CuisineType Cuisine { get; set; }
    }
}

2 个答案:

答案 0 :(得分:1)

似乎缺少using语句using System.Linq。尝试添加它,它应该可以工作。

答案 1 :(得分:0)

using System.Linq添加到您的名称空间。如果您使用的是VS,只需按CTRL + .