c# - 无法使用实例引用访问成员 'string.Format(string, params object[])';用类型名称限定它

标签 c# asp.net asp.net-mvc

我有一个显示契约(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/

相关文章:

asp.net - 在服务器端管理不断增长的 CSS 样式表 - 有没有库,助手?

asp.net - 排序gridview后错误的linkbutton命令参数

asp.net - 用于 Flex 4.6 前端的 ASP.NET 中没有 MVC 框架的 Web API

c# - 如何创建可同时用于 C++ 和 C# 的 dll?

c# - Sprite 变得模糊

asp.net - 使用 "Use Local IIS Web Server"时出现 Microsoft JScript 运行时错误

c# - session 变量不会在不同 Controller 之间保持值

c# - 由于绑定(bind)到在模板布局之前触发的事件而导致的名称范围问题

c# - 模棱两可的调用 Math.Round ( int64/int64, int)

asp.net - 从 Controller 的操作中将 XML 作为 ActionResult 返回?