gpt4 book ai didi

c# - Linq 根据对象属性从列表中选择对象

转载 作者:IT王子 更新时间:2023-10-29 04:51:40 26 4
gpt4 key购买 nike

我有一个对象列表

class Answer
{
bool correct;
}

List<Answer> Answers = new List<Answer>();

在 linq 中有没有一种方法可以让我根据对象的属性来选择对象?

目前为止

Answer answer = Answers.Single(a => a == a.Correct);

但是没有效果

最佳答案

首先,Single如果有多个元素满足条件,则抛出异常。其次,您的标准应该只检查 Correct 属性是否为 true。现在,您正在检查 a 是否等于 a.Correct(甚至不会编译)。

你应该使用 First (如果没有这样的元素将抛出)或FirstOrDefault (如果没有这样的元素,它将为引用类型返回 null):

// this will return the first correct answer,
// or throw an exception if there are no correct answers
var correct = answers.First(a => a.Correct);

// this will return the first correct answer,
// or null if there are no correct answers
var correct = answers.FirstOrDefault(a => a.Correct);

// this will return a list containing all answers which are correct,
// or an empty list if there are no correct answers
var allCorrect = answers.Where(a => a.Correct).ToList();

关于c# - Linq 根据对象属性从列表中选择对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com