2

私はコースワークの一部に取り組んでおり、その一部には、ゲームにスコアボードが機能している必要がありますが、Scoreオブジェクトのリストをscore.scoreで並べ替える方法が必要です。私のScoreオブジェクトには、プレーヤーの名前と到達したレベルが含まれています。

私はプログラミングの経験があまりなく、1年未満しかプログラミングを行っていません。検索で見つけたのは、ラムダまたはIComparableについて話している人だけです。どちらも、使用方法や使用方法については何も知りませんが、MSDNは私にとって理解しやすいようには思えません:(

私はここで髪を引っ張っています、どんな助けでも素晴らしいでしょう!

疑似で必要なのは次のとおりです。

List<Score> scores;
// Load in scores
scores.Sort(//sort by score.actualScore)

新しいスコアが追加されたときに正しい場所でリストに追加したり、リストから削除したりできるようにします。

4

3 に答える 3

6
var ordered = scores.OrderBy(x => x.ActualScore).ToList();

または:

var ordered = scores.OrderByDescending(x => x.ActualScore).ToList();
于 2012-04-08T00:42:40.763 に答える
3

Comparison最も簡単な方法は、デリゲートを渡すことです。あなたの例では、それは次のようになります。

scores.Sort((a, b) => a.actualScore - b.actualScore);
于 2012-04-08T00:43:36.400 に答える
1

クラスに実装IComparableします。Score

参照: http: //msdn.microsoft.com/en-us/library/system.icomparable.aspx

于 2012-04-08T00:43:30.020 に答える