c# - 编写正确的查询
问题描述
我有一个带有枚举的结构,并想编写一个 LINQ 查询来获取“游戏”类别中的所有产品,并且有 10 多个库存。
这就是我的代码现在的样子:
public enum Kind {console, game, hardware}
public struct Products
{
public int Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public int Stock { get; set; }
public Kind Prod;
public Products(int id, string name, int price,int stock, Kind prod)
{
Id = id;
Name = name;
Price = price;
Stock = stock;
Prod = prod;
}
}
static void Main(string[] args)
{
List < Products > test= new List<Products>();
test.Add(new Products(123, "Xbox", 300, 2, Kind.console));
test.Add(new Products(234, "Motherboard", 100, 11, Kind.hardware));
test.Add(new Products(345, "Forza", 29, 20, Kind.game));
test.Add(new Products(456, "AC", 50, 5, Kind.game));
var x = from t in test
where t.Stock > 10
select t;
foreach(var f in x)
{
Console.WriteLine(f.Name);
}
}
}
你们能帮我什么应该是正确的查询吗?
解决方案
您可以使用以下 LINQ,
var res = test.Where(x => x.Prod == Kind.game && x.Stock > 10);
foreach (var item in res) {
Console.WriteLine(item.Name);
}
推荐阅读
- php - 在 null 和 Undefined 属性上调用成员函数 get_menu():
- typescript - 无法输入(通过 JSDoc)样式化的组件道具
- java - java中的所有类如何都可以使用一个对象?
- javascript - 替换所有标签和空格
- ios - iOS14全屏视频通话界面
- postgresql - 指数超出范围。插入 EF Core 后
- airflow - 气流 - 如何运行 dags 等待过去的成功
- sql - 如何在并非所有插槽号都被阻止的情况下返回被阻止的插槽(即小组成员未死)
- arrays - 在 SwiftUI 中初始化可变结构
- angularjs - 菜单:必须有一个“内容”元素来监听拖动事件