我有一个显示契约(Contract)列表的页面。每行包含一个金额、一个费用和一个我正在计算的总计。
我也在尝试计算总计,即汇总集合中的总计。
这是我所拥有的:
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}");
当我尝试计算总计时出现编译错误:
Member 'string.Format(string, params object[])' cannot be accessed with an instance reference; qualify it with a type name instead
有人知道我能做些什么来解决这个问题吗?
最佳答案
你误解了字符串。
String.Format()
是一个静态 方法,它采用格式字符串和一组参数。
你可以打电话
String.Format("{0:c}", someDecimal);
但是,如果您只有一个值,则可以使用格式参数调用 ToString()
:
someDecimal.ToString("c")
关于c# - 无法使用实例引用访问成员 'string.Format(string, params object[])';用类型名称限定它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725580/