djm*_*jmc 2 c# linq foreach linq-to-objects
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);
}
}
Run Code Online (Sandbox Code Playgroud)
作为查询表达式:
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);
}
Run Code Online (Sandbox Code Playgroud)
我没有走下Ani的使用路线List<T>.ForEach- 我个人更喜欢使用正常的foreach声明.LINQ非常适合声明性查询; foreach是每个元素采取强制行动的神.
请注意,我的查询表达式几乎等同于Ani的点表示法; C#编译器将使用稍微不同的重载SelectMany,这就是全部.在这种特殊情况下,我认为查询表达式更容易理解; 在更简单的情况下,我更喜欢点符号.
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |