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

这种写法用过没:string.Format("{0,-10}", 8)的更多相关文章

  1. try { var mergeFilePath = string.Format("{0}mergepdf.pdf", tempDownDir); PDFPrintHelper.MergePDFFile(pdfList, mergeFi

    winform 按顺序连续打印多个PDF文件   关于PDF打印的问题,前面有篇文章(点这里查看)也叙述过,今天来谈谈另外一种方法 其实方法很简单,因为需要把多个PDF文档按顺序连续打印,为此我们为什 ...

  2. String.format("%0"+length+"d", arr)中的%0和"d"分别代表什么

    public static void main(String[] args) { int a = 8; String s = String.format("%04d", a); S ...

  3. C# string.Format("{0:C3}", 2)

  4. 工作总结 @{var sas = String.Format("{0:yyyy-MM-dd}", Model.DemandTime.GetValueOrDefault());}

      可空DateTime类型 无法Tostring 或者 格式化时间格式   需要转换 为DateTime Nullable<T>.GetValueOrDefault() 方法 返回对应的 ...

  5. string.Format出现异常"输入的字符串格式有误"的解决方法

    string.Format出现异常"输入的字符串格式有误"的解决方法 今天在做项目时,碰到一个很奇怪的问题,我使用string.Format居然报“输入的字符串格式有误”的错误,我 ...

  6. C# String.Format大全

    C# String.Format大全 ? ? ? 十进制的数字 ? ? string.Format("{0:D3}",23) 023 格式化十进制的数字 string.Format ...

  7. C# String.Format的格式限定符与Format方法将多个对象格式化一个字符串原理

    Format方法将多个对象格式化成一个字符串Format方法解析格式字符串的原理: (1).格式字符串中的{0}会被替换成格式字符串之后的第一个参数,以此类推 (2).Format方法解析格式字符串时 ...

  8. String Format for Double [C#]

    转载:http://www.csharp-examples.net/string-format-double/ he following examples show how to format flo ...

  9. C#:String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}等等

    int a = 12345678; //格式为sring输出//   Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); / ...

随机推荐

  1. URAL1018. Binary Apple Tree

    链接 简单树形DP #include <iostream> #include<cstdio> #include<cstring> #include<algor ...

  2. bitset位图讲解

    bitset可以用来处理位图问题,用位可以大大减少占用的空间内存,但是位图问题适合处理不重复的,在一定范围内的整数问题.用两个位图可以处理只出现一次问题 #include <bitset> ...

  3. oracle 临时表学习

    临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别.它只能存储在临时表空间,而非用户的表空间.ORACLE临时表是会话或事务级别的,只对 ...

  4. 使用CPU探查器优化XAML程序

    如果您正在开发一个使用 XAML (是否是 c + +. C# 或 VB) 的 Windows 商店应用程序,还有一个好的机会来提高应用程序的性能.为了帮助完成这一点,我们所有在售的能够应用开发 Wi ...

  5. linux多线程大神博客网址

    http://blog.csdn.net/zjf280441589/article/details/43883055

  6. HW4.34

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  7. HW2.13

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  8. 组合数学及其应用——格路径与Schroder数

    格路径问题是探讨在如下所示中的一个格点图上,从(0,0)位置到达(p,q)所有可能的情况数.我们称这样的通路为一条格路径. 格点图: · · · · · · · · · · · · · · · · · ...

  9. 最简单的基于FFMPEG的音频编码器(PCM编码为AAC)

    http://blog.csdn.net/leixiaohua1020/article/details/25430449 本文介绍一个最简单的基于FFMPEG的音频编码器.该编码器实现了PCM音频采样 ...

  10. FireFox浏览器的下载和安装、借助RamDisk让你的FireFox飞起来

    想说的是,为什么我要写此博文,算是纪念我对FireFox浏览器的一个入门.最近,开始接触了它,看到了很多IT牛人极力推荐使用 “ FireFox浏览器 ”作为开发. 深得大牛指导! 下载 安装 这是, ...