易截截图软件、单文件、免安装、纯绿色、仅160KB

使用C#格式化字符串(转自博客园)


1 前言
    如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template
Library(WTL)的CString或者Standard Template
Library(STL)的字符串类,那么你对String.Format方法肯定很熟悉。在C#中也经常使用这个方法来格式化字符串,比如下面这样:
int x = 16;
decimal y = 3.57m;
string h = String.Format( "item {0} sells at {1:C}", x, y );
Console.WriteLine(h);
在我的机器上,可以得到下面的输出:
item 16 sells at ¥3.57
也许你的机器上的输出和这个不太一样。这是正常的,本文稍后就会解释这个问题。
   
在我们日常使用中,更多的是使用Console.WriteLine方法来输出一个字符串。其实String.Format和
Console.WriteLine有很多共同点。两个方法都有很多重载的格式并且采用无固定参数的对象数组作为最后一个参数。下面的两个语句会产生同样
的输出。
Console.WriteLine( "Hello {0} {1} {2} {3} {4} {5} {6} {7} {8}", 123,
45.67, true, 'Q', 4, 5, 6, 7, '8');
string u = String.Format("Hello {0} {1} {2} {3} {4} {5} {6} {7} {8}",
123, 45.67, true, 'Q', 4, 5, 6, 7, '8');
Console.WriteLine(u);
输出如下:
Hello 123 45.67 True Q 4 5 6 7 8
Hello 123 45.67 True Q 4 5 6 7 8
2 字符串格式
String.Format和WriteLine都遵守同样的格式化规则。格式化的格式如下:"{ N [, M ][:
formatString ]}", arg1, ... argN,在这个格式中:
1) N是从0开始的整数,表示要格式化的参数的个数
2)
M是一个可选的整数,表示格式化后的参数所占的宽度,如果M是负数,那么格式化后的值就是左对齐的,如果M是正数,那么格式化后的值是右对齐的
3) formatString是另外一个可选的参数,表示格式代码
argN表示要格式化的表达式,和N是对应的。
如果argN是空值,那么就用一个空字符串来代替。如果没有formatString,那么就用参数N对应的ToString方法来格式化。下面的
语句会产生同样的输出:
public class TestConsoleApp
{
     public static void Main(string[] args)
     {
         Console.WriteLine(123);
         Console.WriteLine("{0}", 123);
 


相关文档:

根据字体大小得到字符串显示时的宽度(C#)

字符串的宽度自适应容器
 Graphics g = Graphics.fromImage(new Bitmap(1, 1));
 SizeF size = g.MeasureString(lblTitle.Text, new Font("宋体", 24 * 0.0625F, FontStyle.Bold));
 float oldSize=(800*0.0625F);//1px=0.0625em
 float newSize = (0.75F/size.Width )* oldSize;
size.Width 的单 ......

c#3.0 新特性之隐含类型VAR

在C#3.0中增加了一个变量声明var,这个声明和JavaScript的var类似,蛋也不同。(*^__^*) 嘻嘻……
1.相同点,它可以用var来声明任何类型的局部变量。
2.不同点 它仅仅告诉编译器,该变量需要根据初始化表达式来确定变量的类型,而且只能是局部变量。 ......

C#中使用WIN32函数的回调函数

完善了“如何在C#中使用Win32和其他库”中关于EnumDesktops()函数的回调代码,可运行。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
class Program
{
delegate bool EnumDesk ......

C#下实现双缓冲描画高频曲线(GDI+结合GDI)

由于项目需要,要使用c#描画高频实时曲线.
但是在C#下由于描画图像使用的是GDI+,描画效率很有问题.一旦曲线太多,就会造成CPU使用率直线上升,马上飙升到100%.
在GDI+下使用双缓冲也无济于事,双缓冲本身只会解决曲线多的时候全屏闪烁问题,但描画效率还是严重低下.
其间用过多种解决方案:DRECT3D,DRIRECT2D,GDI,,,,,等等等等 ......

js与c# 之间数据和方法交互

function loginNull()
{
if (document.form1.txtName.value =="")
{
//alert("请填写您的用户名!");
WebForm1.show("用户名错误,不能为空").value;
//alert("请填写您的用户名!");
document.form1.txtName.focus();
return false;
}
var filter=/^s*[.A-Za-z0-9_-]{5,15}s*$/;
if (!filter.test(document.form ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号