Общий список не приходит - PullRequest
0 голосов
/ 30 сентября 2011

В этом примере используется where, чтобы найти все товары, которых нет в наличии.

public void Linq2()
{
    List<Product> products = GetProductList();

    var soldOutProducts =
        from p in products
        where p.UnitsInStock == 0
        select p;

    Console.WriteLine("Sold out products:");
    foreach (var product in soldOutProducts)
    {
        Console.WriteLine("{0} is sold out!", product.ProductName);
    }
}

Результат:

Распродано продуктов:

  • Gumbo Mix от шеф-повара Антона распродан!
  • Алиса Барашка распродана!
  • Thüringer Rostbratwurst распродан!
  • Горгонзола Телино распродана!
  • Perth Pasties распродан!

Приведенный выше пример, полученный из MSDN Samples , это Simple2, проблема заключается в том, что при вводе List<Products>, Products не отображается в Intellisense. Когда я ввожу его вручную, я получаю следующую ошибку:

Только присваивание, вызов, приращение, уменьшение и выражение нового объекта может использоваться как утверждение

Что я могу сделать, чтобы решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2011

Это потому, что вы не определили класс. Вы должны добавить определение класса. Вы можете написать класс в том же файле, добавить новый файл класса и поместить в него определение Product.

0 голосов
/ 30 сентября 2011

Хорошо,

Ваша проблема в том, что вы скопировали связанный источник. Но этот источник не содержит определения ни Product, ни GetProductList()

Пожалуйста, посмотрите на пример здесь - в нем есть все необходимое:

List<string> fruits =
    new List<string> { "apple", "passionfruit", "banana", "mango", 
                    "orange", "blueberry", "grape", "strawberry" };

IEnumerable<string> query = fruits.Where(fruit => fruit.Length < 6);

foreach (string fruit in query)
{
    Console.WriteLine(fruit);
}
...