1

プレイヤーのパフォーマンスに基づいて勝敗チャートをレンダリングする必要があります。誰かが同様の計算の経験があることを願っていました。

だからここに私が持っているものがあります:

public class Player
{
   public virtual bool IsWinner { get; set; }
}

//Sample list
var listOfPlayers = new List<Player>
                                  {
                                      new Player{ IsWinner = true },
                                      new Player{ IsWinner = false },
                                      new Player{ IsWinner = false },
                                      new Player{ IsWinner = true },
                                      new Player{ IsWinner = true },
                                      new Player{ IsWinner = false },
                                      new Player{ IsWinner = true }
                                  };

プレイヤー リストはデータベースから取得され、基本的にリスト内の各プレイヤーは異なる試合に属します。

したがって、プレーヤーのリストとリスト内のそれぞれのインデックスを提供するこの関数があります。

たとえば、インデックス 2 で 1 勝 2 敗があるとします。チャートをレンダリングしているため、勝敗のパーセンテージを表す double を返すためにこの関数が必要です。 0-3)

public double CalculateWinLossPercentage(List<Player> listOfPlayers,int index)
{
    double winpercentage = null;
    //calculate win percentage base on the total list of players 
    //and the current index in list
    return winpercentage;
}

よろしくお願いいたします。

4

1 に答える 1

4
public double CalculateWinLossPercentage(List<Player> listOfPlayers,int index)
{
    int count = listOfPlayers.GetRange(0, index + 1).Count(p => p.IsWinner);
    return ((double)count)/(index+1);
}

これは、パーセンテージを double (0 と 1 の間の数値) として返します。また、あなたの例では、インデックス = 2 の場合、正しい結果は 25% ではなく 33.3% になります。

于 2012-07-20T18:57:22.670 に答える