从单个 LINQ 查询中选择多个值
本文关键字:选择 单个 LINQ 查询 | 更新日期: 2023-09-27 17:56:02
我从 LINQ 查询中选择多个值时遇到问题。我实际上可以得到我正在寻找的结果,但这不是我想要的方式。
这是我的查询。
var getMovie = from item in entList where item.EType() ==
"Movie" orderby item.Rating select new { item.Title, item.Rating };
这就是我得到的结果。
{ Title = Terminator 2: Judgement Day, Rating = 1 }
我在这样的列表框中显示结果
foreach(var items in getMovie)
{
Results.Items.Add(items);
}
有没有更好的方法来解决这个问题,这样我就可以只得到值,没有大括号,所以它看起来像这样或类似的东西?
终结者2:审判/1
这不是获取数据的问题,而是使用列表框正确呈现数据的问题。您当前的实现使用默认ToString
;您需要一个自定义标题,因此您需要告诉列表框如何获取它。
这是一种方法:
var getMovie = from item in entList
where item.EType() == "Movie"
orderby item.Rating select new {
Id = item.Id
, Display = item.Title + " / " + item.Rating
};
按常规方式将这些项添加到列表框中,并按如下所示设置ValueMember
和DisplayMember
:
Results.ValueMember = "Id";
Results.DisplayMember = "Display";
您正在获取值本身。您正在检索由 new { item.Title, item.Rating }
生成的匿名类型实例序列。您可以访问这些属性并根据需要设置对象的格式。
您对用于调试目的的匿名类型的内置ToString
感到困惑。