gpt4 book ai didi

c# - Linq 拼图 : How do I convert this foreach to linq syntax?

转载 作者:行者123 更新时间:2023-11-30 20:11:34 25 4
gpt4 key购买 nike

List<string> nameSpaceSuffixes = GetSuffixes();

foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach(var suffix in nameSpaceSuffixes)
{
if (assembly.GetName().Name.EndsWith(suffix))
Register(container, assembly, suffix);
}
}

最佳答案

作为查询表达式:

var query = from assembly in AppDomain.CurrentDomain.GetAssemblies()
from suffix in namespaceSuffixes
where assembly.GetName().Name.EndsWith(suffix)
select new { assembly, suffix };

foreach (var result in query)
{
Register(container, result.assembly, result.suffix);
}

我还没有沿用 Ani 使用 List<T>.ForEach 的路线- 我个人更喜欢使用普通的 foreach陈述。 LINQ 非常适合声明式查询; foreach是对每个元素采取的命令式操作的 godo。

请注意,我的查询表达式几乎等同于 Ani 的点符号; C# 编译器将使用略有不同的重载 SelectMany , 就这样。在这个特殊情况下,我认为查询表达式更容易理解;在更简单的情况下,我更喜欢点符号。

关于c# - Linq 拼图 : How do I convert this foreach to linq syntax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3654543/

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