7

契約のリストを表示するページがあります。各行には、その行で計算している金額、料金、および合計が含まれています。

また、コレクションの Total を合計する総計を計算しようとしています。

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

var contracts = _contractsRepository.Contracts.
    Select(c => new ContractViewModel
    {
        ContractId = c.ContractID,                                            
        Amount = c.Amount,
        Fee = c.Fee,
        Total = c.Sum(cc => cc.Amount) + c.Sum(cc => cc.AdminFee)
    });

// error here
ViewBag.GrandTotal = contracts.Sum(c => c.Total).ToString().Format("{0:c}");

次のような総計を計算しようとすると、コンパイル エラーが発生します。

メンバー 'string.Format(string, params object[])' は、インスタンス参照ではアクセスできません。代わりに型名で修飾してください

これを修正するために私に何ができるか知っている人はいますか?

4

1 に答える 1

9

あなたは文字列を誤解しています。

String.Format()フォーマット文字列と一連のパラメータを取る静的メソッドです
あなたは呼び出すことができます

String.Format("{0:c}", someDecimal);

ただし、値が 1 つしかない場合はToString()、format パラメーターを使用して呼び出すことができます。

someDecimal.ToString("c")
于 2013-03-31T02:01:21.470 に答える