zoukankan      html  css  js  c++  java
  • 这种写法用过没:string.Format("{0,-10}", 8)

    1
    2
    3
    4
    var s1 = string.Format("{0,-10}", 8);
    var s2 = string.Format("{0,10}", 8);
    var s3 = string.Format("{0,20:yyyy-MM-dd}", DateTime.Today);
    var s4 = string.Format("4G 内存便宜了{0,12:C2},我打算买{1,4}条", 145, 2);

    大括号中,索引后 分号前,有一个逗号和一个整数(减号表示负数)。

    string.Format("{0,-10}", 8) 等同于 string.Format("{0}", 8).PadRight(10)

    string.Format("{0,10}", 8) 等同于 string.Format("{0}", 8).PadLeft(10)。

    String.Format 方法 format 参数由零或多个文本序列与零或多个索引占位符混合组成,其中索引占位符称为格式项,对应于与此方法的参数列表中的对象。 格式设置过程将每个格式项替换为相应对象值的字符串表示形式。

    格式项的语法如下:

    {index[,length][:formatString]}

    优点:

    ,length 其实把 String.PadLeft 和 String.PadRight 的功能融合在的 String.Format 方法中,简化了代码的编写。

    如果没有这种格式,代码写起来麻烦多了:

    1
    2
    3
    var s5 = string.Format("4G 内存便宜了{0},我打算买{1}条",
        145.ToString("C2").PadLeft(12),
        2.ToString().PadLeft(4));

    缺点:

    看起来不直观,复杂,如文首代码中的 “我打算买{1,4}条”。

    实际使用少,没用过的看了很纳闷。

    -------------------

    转载:http://www.cnblogs.com/ldp615/archive/2011/08/03/string-format-with-length.html

  • 相关阅读:
    10月15日模拟赛题解
    NOIp初赛题目整理
    【meet in the mid】【qbxt2019csp刷题班day1C】birthday
    【字符串】 manacher算法
    【border树】【P2375】动物园
    【border相关】【P3426】 [POI2005]SZA-Template
    【字符串】 Z-algorithm
    【字符串】KMP
    【神奇性质】【P5523】D [yLOI2019] 珍珠
    【线段树】【P5522】[yLOI2019] 棠梨煎雪
  • 原文地址:https://www.cnblogs.com/BoYu045535/p/3683342.html
Copyright © 2011-2022 走看看