我只是想自学如何使用Linq。这就是我所拥有的
if (FileReceivers.Exists(t => t.FileName == filename))
{
//I also want to do a c.Parent = proper FileReceiver
FileReceivers.Where(t=>t.FileName == filename).First().Clients.Add(c);
}
else
{
FileReceiver fr = new FileReceiver(filename);
fr.Clients.Add(c);
FileReceivers.Add(fr);
}
我有什么想法以正确的方式做到这一点?我真的不想使用Linq两次抓住同样的东西,这会破坏目的。 我想知道格式化的正确方法。
答案 0 :(得分:5)
var fr = FileReceivers.FirstOrDefault(t=>t.FileName == filename);
if (fr == null) {
fr = new FileReceiver(filename);
FileReceivers.Add(fr);
}
fr.Clients.Add(c);
答案 1 :(得分:0)
您始终可以将t => t.FileName == filename
的结果传递给匿名类型,并将其用于以后的处理。