作为 .net 游戏的新手,我想知道,有没有人对使用 LINQ 与使用列表/集合的更传统方法之间的利弊有任何经验?
对于我正在处理的项目的特定示例:正在从远程 Web 服务检索唯一 ID/名称对的列表。
- 此列表将不经常更改(每天一次),
- 从使用它的应用程序的角度来看,它将是只读的
- 将存储在应用程序级别以供所有请求访问
鉴于这些点,我计划将应用程序级别的返回值存储在单例类中。
我最初的方法是遍历从远程服务返回的列表,并将其存储在单例类的 NameValueCollection 中,并使用基于 id 从集合中检索的方法:
sugarsoap soapService = new sugarsoap();
branch_summary[] branchList = soapService.getBranches();
foreach (branch_summary aBranch in branchList)
{
branchNameList.Add(aBranch.id, aBranch.name);
}
使用 LINQ 的替代方法是简单地添加一个在检索到列表后直接在列表上工作的方法:
public string branchName (string branchId)
{
//branchList populated in the constructor
branch_summary bs = from b in branchList where b.id == branchId select b;
return branch_summary.name;
}
是否比另一个更好-有第三种方法吗?我对所有答案持开放态度,无论是在提供优雅的解决方案方面,还是在有利于性能的解决方案方面。