C#的控制台輸出函數是System.Console裡面的WriteLine和Write。
輸出多個字符串可以直接用“ ”連接,比如
int a=10;string b="Hello",double c=222.22;
Console.WriteLine("aaaa" a.ToString() " " b " " c.ToString() "The End");
也可以使用指定格式,
Console.WriteLine("aaaa{0} {1} {2} The End",a,b,c);
效果跟前面是一樣的。
WriteLine是控制台輸出,ToString則可以用於其它地方,
另外也可以對標准輸入輸出進行重定向,使ReadLine和WriteLine可以對控件操作:
Process pcmd = new Process();
pcmd.StartInfo.FileName = "cmd";
pcmd.StartInfo.UseShellExecute = false;
pcmd.StartInfo.RedirectStandardInput = true;
pcmd.StartInfo.RedirectStandardOutput = true;
pcmd.StartInfo.RedirectStandardError = true;
pcmd.StartInfo.CreateNoWindow = true;
//string result = null;
pcmd.Start();
pcmd.StandardInput.WriteLine(textBox1.Text);
pcmd.StandardInput.WriteLine("exit");
richTextBox1.Text=pcmd.StandardOutput.ReadToEnd();
ToString函數也可以使用格式。
{}中間的數字是索引,代表列表中參數的序號。
還可以有更高級的用法
格式為{n,w:x}
n為索引,w為寬度,對齊用的,x是格式字符串。
來看個具體的例子:
static void Main(string[] args)
{
double a = 123.456;
System.Console.Write("{0}",a.ToString("F0"));
for (int i = 0; i < 100; i )
{
if (i % 5 == 0) System.Console.WriteLine();
System.Console.Write("{0,5:D2}", i);
}
}
System.Console.Write("{0}",a.ToString("F0"));表示把a精度為0的小數輸出。
也可以寫成System.Console.Write("{0,3:F0}",a);
System.Console.Write("{0,5:D2}", i);表示寬度為5,精度為2,不足補0。
D表示是整數,其它的標准數字格式字符串有:
C 本地貨幣格式
E 科學記數法(指數)格式
F 定點(小數)格式
G 常規格式
N 數字格式
P 百分數格式
X 十六進制格式
R 往返過程
還有一種方式是使用占位符:
double a = 1.2345;
System.Console.WriteLine("{0:###.000000}", a);
結果為1.234500
“#”號位置上有字符就輸出,沒有則不輸出,0的位置上有字符就輸出,沒有就填0。
再來看個例子:
decimal m = 168.24m;
decimal n = 45.8m;
System.Console.WriteLine("{0,8:C2} {1,8:C2} {2,8:C2}", m, n,m-n);
輸出結果為
¥168.24
¥45.80
¥122.44
前面有一個空格,因為寬度是8,小數點後保留兩位小數,不足補0。
它是右對齊的,我們可以換成左對齊:
¥168.24
¥45.80
¥122.44
“¥”符號是自動加上去的,我們這裡選擇的是貨幣格式,它會自動選擇適當的符號,RMB當然是¥,要修改可以去控制面板裡面設置語言和貨幣。
以上是數字的格式,另外日期和時間格式字符串也是比較常用的。
static void Main(string[] args)
{
DateTime date1 = new DateTime(2010, 5, 22,19,50,28); //2010年5月22日19點50分28秒
Console.WriteLine(date1.ToString("f",CultureInfo.CreateSpecificCulture("zh-CN")));
}
D 長日期模式 2010年5月22日
f 完整日期/時間模式(短時間) 2010年5月22日 19:50
F 完整日期/時間模式(長時間) 2010年5月22日 19:50:28
g 常規日期/時間模式(短時間) 2010/5/22 19:50
G 常規日期/時間模式(長時間) 2010/5/22 19:50:28
M或m 月日模式 5月22日
t 短時間模式 19:50
T 長時間模式 19:50:28
u 通用的可排序日期/時間模式 2010-05-22 19:50:28Z
U 通用完整日期/時間模式 2010年5月22日 11:50:28
Y或y 年月模式 2010年5月
還可以自定義格式,
{
DateTime date1 = new DateTime(2010, 5, 22,19,50,28);
Console.WriteLine(date1.ToString("yyyy年MM月dd日 tt hh:mm:ss.FF",CultureInfo.CreateSpecificCulture("zh-CN")));
}
輸出為2010年05月22日 下午 07:50:28
還有很多用法,詳情可以去查MSDN。
輸出為 2010年5月22日 19:50,還有其它的:
d 短日期模式 2010/5/22