如何将此代码片段转换为 LINQ 格式
本文关键字:转换 LINQ 格式 片段 代码 | 更新日期: 2023-09-27 18:20:48
foreach (var invitation in PendingContactList.CollectionContent)
{
if (!invitation.Contact.incoming)
{
contactInvitationsSent.Add(invitation);
}
}
待定联系人列表是一个列表。
如果contactInvitationsSent
是List<T>
,则类似:
contactInvitationsSent.AddRange(
PendingContactList.CollectionContent.Where(item => !item.Contact.incoming)
);
如果contactInvitationsSent
不是List<T>
,我们也没有AddRange
方法必须使用Add
,在这种情况下,Linq 似乎没有什么帮助:
foreach(var invitation in PendingContactList.CollectionContent
.Where(item => !item.Contact.incoming))
contactInvitationsSent.Add(invitation);
您可以使用以下内容,尽管不能保证它能为您提供任何性能提升。
contactInvitationSent.AddRange(PendingContactList.CollectionContent
.Where(i => !i.Contact.incoming);
仅供您参考,您还可以安装ReSharper等插件。是的,该工具的价格和性能并不总是能弥补它提供的功能。但是,像这样的问题可以避免:-(
还有一些免费的替代品可用。例如电动工具。http://visualstudiogallery.msdn.microsoft.com/3a96a4dc-ba9c-4589-92c5-640e07332afd
只需阅读更多关于锐化器等的信息,祝你好运!
尝试类似以下内容:
contactInvitationsSent = PendingContactList.CollectionContent
.Where(x => x.Contact.incoming == false)
.Select(x => x).ToList();
Linq 是很棒的,非常简单的符号。
您必须使用以下语法。
var demo = (from n in PendingContactList.CollectionContent where n.incoming==false select n).ToList();