首先进入 SharpDevelop ,新建一个控制台工程;
SharpDevelop简介:
http://blog.csdn.net/bcbobo21cn/article/details/44200205
using System;
namespace conwrdemo
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// TODO: Implement Functionality Here
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
using System;
namespace conwrdemo2
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("各种数据格式的输出:");
// Console.WriteLine 中各种数据格式的输出
Console.WriteLine("{0, 8 :C}", 2); // $2.00
Console.WriteLine("{0, 8 :C3}", 2); // $2.000
Console.WriteLine("{0 :D3}", 2); // 002
Console.WriteLine("{0 :E}", 2); // 2.000000E+000
Console.WriteLine("{0 :G}", 2); // 2
Console.WriteLine("{0 :N}", 2500000.00); // 2,500,00.00
Console.WriteLine("{0 :x4}", 12); // 000c
Console.WriteLine("{0, 2 :x}", 12); // c
Console.WriteLine("{0 :000.000}", 12.23); // 012.230
Console.WriteLine("{0 :r}", 15.62); // 15.62
Console.WriteLine("{0 :d}", System.DateTime.Now); // 2012-3-27
Console.WriteLine("{0 :D}", System.DateTime.Now); // 2012年3月27日
Console.WriteLine("{0 :t}", System.DateTime.Now); // 11:43
Console.WriteLine("{0 :T}", System.DateTime.Now); // 11:43:34
Console.WriteLine("{0 :f}", System.DateTime.Now); // 2012年3月27日 11:43
Console.WriteLine("{0 :F}", System.DateTime.Now); // 2012年3月27日 11:43:34
Console.WriteLine("{0 :g}", System.DateTime.Now); // 2012-3-27 11:43
Console.WriteLine("{0 :G}", System.DateTime.Now); // 2012-3-27 11:43:34
Console.WriteLine("{0 :M}", System.DateTime.Now); // 3月27日
Console.WriteLine("{0 :r}", System.DateTime.Now);// Tue, 27 Mar 2012 11:43:34 GMT
Console.WriteLine("{0 :s}", System.DateTime.Now); // 2012-03-27T11:43:34
Console.WriteLine("{0 :u}", System.DateTime.Now); // 2012-03-27 11:43:34Z
Console.WriteLine("{0 :U}", System.DateTime.Now); // 2012年3月27日 3:43:34
Console.WriteLine("{0 :Y}", System.DateTime.Now); // 2012年3月
Console.WriteLine("{0 :dd}", System.DateTime.Now); // 27
Console.WriteLine("{0 :ddd}", System.DateTime.Now); // 二
Console.WriteLine("{0 :dddd}", System.DateTime.Now); // 星期二
Console.WriteLine("{0 :f}", System.DateTime.Now); // 2012年3月27日 11:46
Console.WriteLine("{0 :ff}", System.DateTime.Now); // 18
Console.WriteLine("{0 :fff}", System.DateTime.Now); // 187
Console.WriteLine("{0 :ffff}", System.DateTime.Now); // 1875
Console.WriteLine("{0 :fffff}", System.DateTime.Now); // 18750
Console.WriteLine("{0 :gg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :ggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :gggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :ggggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :gggggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :hh}", System.DateTime.Now); // 11
Console.WriteLine("{0 :HH}", System.DateTime.Now); // 11
Console.WriteLine("{0 :mm}", System.DateTime.Now); // 50
Console.WriteLine("{0 :MM}", System.DateTime.Now); // 03
Console.WriteLine("{0 :MMM}", System.DateTime.Now); // 三月
Console.WriteLine("{0 :MMMM}", System.DateTime.Now); // 三月
Console.WriteLine("{0 :ss}", System.DateTime.Now); // 43
Console.WriteLine("{0 :tt}", System.DateTime.Now); // 上午
Console.WriteLine("{0 :yy}", System.DateTime.Now); // 12
Console.WriteLine("{0 :yyyy}", System.DateTime.Now); // 2012
Console.WriteLine("{0 :zz}", System.DateTime.Now); // +08
Console.WriteLine("{0 :zzz}", System.DateTime.Now); // +08:00
Console.WriteLine("{0 :hh:mm:ss}", System.DateTime.Now); // 11:43:34
Console.WriteLine("{0 :dd/MM/yyyy}", System.DateTime.Now); // 27-03-2012
// TODO: Implement Functionality Here
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
以下是关于输出格式的示例,该资料来自网上;
Console.Write 表示向控制台直接写入字符串,不进行换行,可继续接着前面的字符写入。
Console.WriteLine 表示向控制台写入字符串后换行。
Console.Read 表示从控制台读取字符串,不换行。
Console.ReadLine 表示从控制台读取字符串后进行换行。
Console.ReadKey 获取用户按下的下一个字符或功能键,按下的键显示在控制台窗口中。
Console.Beep 通过控制台扬声器播放提示音。
Console.Clear 清除控制台缓冲区和相应的控制台窗口的显示信息。
输出到控制台
Console.WriteLine();
Console.Write();
Console.WriteLine(输出的值);
Console.Write(输出的值);
Console.WriteLine("输出的格式字符串",变量列表);
Console.Write("输出的格式字符串",变量列表);
Console.WriteLine("鹿鼎记中{0}的妻子有{1},{2},{3}等7个",strName[0],strName[1],strName[2],strName[3]);
这种方式中包含两个参数:“格式字符串”和变量列表。“鹿鼎记中{0}的妻子有{1},{2},{3}等7个”这是格式字符串,{0}、{1}、{2}、{3}叫做占位符,代表后面依次排列的变量表,0对应变量列表的第一个变量,1对应变量列表的第2个变量,依次类推,完成输出。
从控制台输入
Console.ReadLine();
这一句代码返回一个字符串型数据,可以把它直接赋值给字符串变量,如:
string strname=Console.ReadLine();
有时需要从控制台输入数字,就用到前面介绍的内容,数据转换,如:
int num=int.Pares(Console.ReadLine());
int num=Convert.ToInt32(Console.ReadLine());
上面两句代码效果相同,可以根据自己的习惯选择任意一种。
注意:
Console.ReadLine()和Console.Read()的输入结果完全不同,不能混用。
Console.Read(),返回值为首字符的ASCII码
Console.ReadLine(),返回值为字符串
也就是说read方法只能读取第一个字符,而ReadLine能读多个字符也可以换行读取
Console.ReadKey()的作用,read是从控制台读取,key表示按下键盘,那么组合在一起的意思就是获取用户按下功能键显示在窗口中,用在前面的代码起到窗口暂停的功能,在调试状态下,只有按下任意键后窗口才会关闭。
控制台输入输出示例;
using System;
using System.Collection.Generic;
using System.Linq;
using System.Text;
namespace ConsoleTest
{
class ConsoleTest
{
static void Main(string[] args)
{
Console.WriteLine("请输入两个学生的名字");
string name1=Console.ReadLine();
string name2=Console.ReadLine();
Console.WriteLine("请输入两个学生的成绩");
int score1=int.Parse(Console.ReadLine());
int score2=int.Parse(Console.ReadLine());
Console.WriteLine("第一个学生的姓名{0},成绩{1}",name1,score1);
Console.WriteLine("第二个学生的姓名{0},成绩{1}",name2,score2);
Console.ReadKey();
}
}
}
窗口程序用Debug.WriteLine
按f5调试运行
输出结果在“输出”窗格,视图-窗口-输出可以打开它。
新建一个Winform项目,在按钮单击事件输入如下图代码;
Debug.WriteLine(str1);
启动调试;单击按钮;str1的值在Output窗口输出;
using System;
namespace conwrdemo5
{
class Program
{
public static void Main(string[] args)
{
// TODO: Implement Functionality Here
Console.WriteLine(Console.WindowHeight);
Console.WriteLine(Console.BufferHeight);
Console.ReadKey();
Console.Title = "Test";//设置窗口标题
Console.WindowWidth = 40;
Console.WindowHeight=20;
Console.BufferHeight = 20;
Console.WriteLine(Console.WindowWidth);
Console.WriteLine(Console.WindowHeight);
Console.WriteLine("---------------------");
Console.WriteLine(Console.BufferWidth);
Console.WriteLine(Console.BufferHeight);
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
Console.BackgroundColor = ConsoleColor.Blue; //设置背景色
Console.ForegroundColor = ConsoleColor.White; //设置前景色,即字体颜色
Console.WriteLine("第一行白蓝.");
Console.ResetColor(); //将控制台的前景色和背景色设为默认值
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.DarkGreen;
string str = "第三行 绿暗绿";
Console.WriteLine(str.PadRight(Console.BufferWidth - (str.Length % Console.BufferWidth))); //设置一整行的背景色
Console.ResetColor();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
//计算当前光标所在的行数,针对于Console.BufferHeight的值
ShowColor();
int m = Console.CursorTop;//查看当前行号Console.BufferHeight
Console.ReadKey();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
//显示出console中支持的背景色及前景色
static void ShowColor()
{
Type type = typeof(ConsoleColor);
Console.ForegroundColor = ConsoleColor.White;
foreach (string name in Enum.GetNames(type))
{
Console.BackgroundColor = (ConsoleColor)Enum.Parse(type, name);
Console.WriteLine(name);
}
Console.BackgroundColor = ConsoleColor.Black;
foreach (string name in Enum.GetNames(type))
{
Console.ForegroundColor = (ConsoleColor)Enum.Parse(type, name);
Console.WriteLine(name);
}
foreach (string bc in Enum.GetNames(type))
{
Console.BackgroundColor = (ConsoleColor)Enum.Parse(type, bc);
foreach (string fc in Enum.GetNames(type))
{
Console.ForegroundColor = (ConsoleColor)Enum.Parse(type, fc);
Console.WriteLine("bc="+bc+",fc="+fc);
}
Console.WriteLine();
}
}
}
}
Console.BufferHeight 属性:
The current height, in rows, of the buffer area.
Process pro = new Process();
pro.StartInfo.FileName = "cmd.exe";
//pro.StartInfo.Arguments = @"C:\Windows\System32";
pro.StartInfo.UseShellExecute=false;
pro.StartInfo.RedirectStandardInput=true;
pro.StartInfo.RedirectStandardOutput=true;
pro.StartInfo.RedirectStandardError=true;
pro.StartInfo.CreateNoWindow=false;
pro.Start();
pro.StandardInput.WriteLine("ver");
//pro.StandardInput.WriteLine("exit");
string rs=pro.StandardOutput.ReadToEnd();
代码如下,启动了控制台,命令没有执行;下次再搞;
9 另一个设置控制台字体颜色程序
using System;
namespace conwrdemo7
{
class Program
{
public static void Main(string[] args)
{
String nl = Environment.NewLine;
String[] colorNames = Enum.GetNames(typeof(ConsoleColor));
Console.WriteLine("{0}All the foreground colors on a constant black background.", nl);
Console.WriteLine(" (Black on black is not readable.){0}", nl);
for (int x = 0; x < colorNames.Length; x++)
{
Console.Write("{0,2}: ", x);
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorNames[x]);
Console.Write("This is foreground color {0}.", colorNames[x]);
Console.ResetColor();
Console.WriteLine();
}
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("/x01");
Console.Write("/u0001");
Console.Write("/001");
Console.Write("/x10");
Console.Write("/u0010");
Console.Write("/020");
Console.WriteLine();
Console.Write("{0,-50}", "Class1.TestMethod1");
Console.Write("{0,-2}","/x10");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Pass");
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("{0,-50}", "Class1.TestMethod2");
Console.Write("{0,-2}", "/x10");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Failed");
Console.ReadLine();
}
}
}
上述工程,一共7个小项目;
下载地址
http://pan.baidu.com/s/1o8qyWLs
文件名
conwrdemo