在 vb.net 中创建的 Linq 语句在 C# 中不起作用

本文关键字:语句 不起作用 Linq 创建 vb net | 更新日期: 2023-09-27 17:56:10

我正在尝试用 C# 转换以下内容,但无法弄清楚。

Dim query = From p In products Select p.ProductId, p.ProductName, p.ProductCategory Distinct

这是在尝试返回匿名对象吗?

这是我在 C# 中的尝试:

var query = from p in products select p.ProductId, p.ProductName, p.ProductCategory distinct;

我得到的错误是:隐式类型的局部变量不能有多个声明符。

在 vb.net 中创建的 Linq 语句在 C# 中不起作用

你必须调用 Distinct 方法,而不是 IEnumerable<T> 的实现。它不是查询表达式语法的一部分。试试这个:

var query = (from p in products 
            select new { 
                      p.ProductId, 
                      p.ProductName, 
                      p.ProductCategory 
             }).Distinct();

PS:我没有测试它是否有效。