.netのゲームに比較的新しいので、LINQの使用とより伝統的な方法で動作するものとの間に長所/短所の経験があった人はいますか?リスト/コレクションはありますか?LINQと伝統的なコレクションベースのアプローチ間の長所と短所
私が取り組んでいるプロジェクトの具体例として、リモートWebサービスから一意のIDと名前のペアのリストが取得されています。
- このリストは
- は、読み取り専用になり、
- は、すべてのアプリケーションレベルで保存され使用されているアプリケーションの観点から、(一日一回)まれに変化しますアクセス要求
これらの点を考慮して、返された値をシングルトンクラスのアプリケーションレベルに格納する予定です。
私の最初のアプローチは、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;
}
は他よりも良いのどちらかである - 第三の方法はありますか?私はすべての答えに、両方のアプローチについて、そして優雅さを提供するソリューションと、パフォーマンスに恩恵を受けるソリューションの両方について、どちらもオープンです。