代码之家  ›  专栏  ›  技术社区  ›  CD..

用变量名而不是数字格式化

  •  3
  • CD..  · 技术社区  · 15 年前

    我读过一些关于这个的自我实现的文章,但是我认为现在在ASP.NET MVC中应该有一些方法具有这个功能。

    我想有一种方法可以实现string.format的功能:

     string.Format("example {0}", 1);
    

    但不是使用 { 0 } 可以像MVC路由那样使用变量名。 例如:

     string.Format("example {id}", 1);
    

    ASP.NET MVC中是否存在这样的公共方法?

    [ 编辑: 例如,您知道如何在路由之外呈现动作链接吗?]

    3 回复  |  直到 8 年前
        1
  •  0
  •   Craig Stuntz    15 年前

    不,从V2预览1开始,ASP.NET MVC中没有此类方法。我也不知道.NET框架中有任何这样的方法。

        2
  •  1
  •   Community CDub    8 年前

    我不知道本地的方法,但我认为解决方案在于.NET 3.5扩展方法…

    一个博客展示了一个聪明的方法 add string.format capabilities 更容易阅读的方法。

    噢,我刚刚找到它。看一看 this SO question . 精彩!

        3
  •  0
  •   Sprotty    8 年前

    从Visual Studio 2015开始,您可以使用 Interpolated Strings (这是一个编译器技巧,所以无论您针对的是.NET框架的哪个版本,都不重要)。

    代码看起来像这样

    string txt = $"{person.ForeName} is not at home {person.Something}"; 
    

    我认为它使代码更易读,更不容易出错,但如果您想将字符串放入资源文件进行翻译,这并不理想,但是