C#开发的OpenRA的Enumerable.Concat方法应用

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#开发的OpenRA的Enumerable.Concat方法应用相关的知识,希望对你有一定的参考价值。

C#开发的OpenRA的Enumerable.Concat方法应用

在OpenRA游戏里,可以让用户指定搜索目录,也可以搜索应用程序所在的目录。

还需要把这两个结果集连接到一起,那么它是怎么实现的呢?

它是采用了Enumerable.Concat方法,实现两个列表的结果集进行合并。

可以看一下这个函数的代码:

Dictionary<string, Manifest> GetInstalledMods(IEnumerable<string> searchPaths, IEnumerable<string> explicitPaths)

var ret = new Dictionary<string, Manifest>();

var candidates = GetCandidateMods(searchPaths)

.Concat(explicitPaths.Select(p => (Id: Path.GetFileNameWithoutExtension(p), Path: p)));

foreach (var pair in candidates)

var mod = LoadMod(pair.Id, pair.Path);

if (mod != null)

ret[pair.Id] = mod;

return ret;

以上是关于C#开发的OpenRA的Enumerable.Concat方法应用的主要内容,如果未能解决你的问题,请参考以下文章

C#开发的OpenRA的mod.yaml文件

C#开发的OpenRA的mod.yaml文件

C#开发的OpenRA实现目录搜索

C#开发的OpenRA实现目录搜索

C#开发的OpenRA使用TrimExcess方法

C#开发的OpenRA使用TrimExcess方法