c# - 如何将集合中的 bool 值更改为与其现有值相反的值?

标签 c#

我有一个集合,我想更改集合中某个项目的值。这是我的做法:

private ObservableCollection<Phrase> _phrases = 
   new ObservableCollection<Phrase>();

public ObservableCollection<Phrase> Phrases { 
   get => _phrases; 
   set => SetProperty(ref _phrases, value); 
}

var newState = 
   Phrases.FirstOrDefault(x => x.PhraseId == phraseId).F3 
   = !Phrases.FirstOrDefault(x => x.PhraseId == phraseId).F3;

有没有更简单的方法可以使用 LINQ 完成此操作,或者这是唯一的方法吗?

最佳答案

我会避免查询集合两次

Phrase item = Phrases.FirstOrDefault(x => x.PhraseId == phraseId); 
if (item != null)
{
    item.F3 = !item.F3;
}

关于c# - 如何将集合中的 bool 值更改为与其现有值相反的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59089735/

相关文章:

c# - 为什么 HttpContext 为空?

c# - 使用 LINQ 将表中的逗号分隔字符串转换为不同的值集合

c# - 如果未设置, Entity Framework 自动生成 Id

c# - 发送或接收数据的请求被拒绝,因为套接字未连接。 .

c# - 如何从 C# 向客户端显示确认对话框并使用结果

c# - 在 C# 和 WPF 中,应该使用什么设计模式通过用户界面动态地使用 "changing object' s 类?

c# - Azure Graph APi 云打印机列表仅限 100 项

c# - View 中具有自定义模型属性的 MVC3 默认成员属性(使用 ModelView?)

c# - 如何缩短这个通用列表?

c# - WriteableBitmapEx 的性能