当前位置: 首页 > news >正文

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;

http://www.lryc.cn/news/935.html

相关文章:

  • 前端知识点总结(自参)
  • [ 靶场环境片 ] kali-linux采用Docker 搭建 pikachu(特别详细)
  • 阿里6面,成功唬住面试官拿了27K,软件测试面试也没有传说中那么难吧....
  • 为什么静默安装未经过数字签名的驱动是不可行的?
  • Caused by: java.sql.SQLException: ORA-28040: 没有匹配的验证协议
  • Dubbo3简单使用
  • Redis未授权漏洞蜜罐模拟与捕获分析
  • Spring Security Oauth2.0认证授权
  • 安卓小游戏:贪吃蛇
  • CUDA中的图内存节点
  • 你真的看好低代码开发吗?
  • 一篇带你MySQL运维
  • 《嵌入式 – GD32开发实战指南》第22章 SPI
  • 一个优质软件测试工程师的简历应该有的样子(答应我一定要收藏起来)
  • C++ 浅谈之 STL Deque
  • Koa2-项目中的基本应用
  • Flask入门(2):配置
  • Linux--fork
  • 计算机组成原理(一)
  • 【SpringBoot】实现Async异步任务
  • Node =>Express学习
  • QT基础入门【布局篇】消除控件之间的间隔
  • vue脚手架 element-ui spring boot 实现图片上传阿里云 并保存到数据库
  • 【FPGA】Verilog:组合电路 | 3—8译码器 | 编码器 | 74LS148
  • GLP-1类药物研发进展-销售数据-上市药品前景分析
  • C++远程监控系统接收端- RevPlayMDIChildWnd.cpp
  • QT之OpenGL深度测试
  • 用LCR测试仪测试无线充电系统中的线圈
  • 华为、南卡和漫步者蓝牙耳机怎么选?国产高性价比蓝牙耳机推荐
  • MySQl学习(从入门到精通12)