.net ゲームに比較的慣れていないので、LINQ の使用と、リスト/コレクションを操作するより伝統的な方法と見なすことができるものとの間の長所/短所を経験した人はいますか?
私が取り組んでいるプロジェクトの特定の例: 一意の ID/名前のペアのリストがリモート Web サービスから取得されています。
- このリストはめったに変更されません (1 日 1 回)。
- 使用されているアプリケーションの観点からは読み取り専用になります
- アクセスするすべてのリクエストに対してアプリケーションレベルで保存されます
これらの点を考慮して、返された値をアプリケーション レベルでシングルトン クラスに格納する予定です。
私の最初のアプローチは、リモート サービスから返されたリストを反復処理し、ID に基づいてコレクションから取得するメソッドを使用して、シングルトン クラスの NameValueCollection に格納することでした。
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;
}
どちらかが他よりも優れています-3番目の方法はありますか? エレガンスを提供するソリューションとパフォーマンスに利益をもたらすソリューションの両方の観点から、両方のアプローチについて、私はすべての答えを受け入れます。