在没学C#之前,我曾听说过,C#和Java比较像,而开始看C#之后(现在刚开始看,以前虽然看过一点点,但间隔时间较长,基本都忘了),发现的确有些相像。(现在C++已经忘了很多了,而且当初也没有认真的学,java还记得一些,不过也没有深入的学习,只学了一些基础性的东西)
下面先写一个Hello World!的程序(这是建了一个控制台应用程序)
例1:
using System;
class Hello
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World");
Console.ReadLine();
}
}
它等价于:
class Hello
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello, World");
System.Console.ReadLine();
}
}
输出结果为:
单看这个代码的格式的话,的确和java的格式比较像,最上面的using 类似于java中的import,对main函数的生命,不过是main的首字母变成了大写,另外,输出的语句不一样,结尾的Console.ReadLine()是一个暂停的函数,类似于C中的system(“pause”)或getchar()
下面举一个简单的windows应用程序
例2:
下面给出的是窗口的设计与主程序
Form1.cs文件:
using System;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("这是第一个windows应用程序");
}
}
}
Program.cs文件:
using System;
using System.Windows.Forms;
namespace WindowsApplication1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
最终程序运行结果如下所示:
点击按钮后:
这个程序是可以直接向Form1窗口拖动窗口,就像MFC(当初MFC我只是简单的稍微看了看,现在基本忘了)中的编程一样,而点击按钮,出现新的窗口,则是添加了一个简单的事件
下面举个例子,讲述一下各个数据类型的变量及一些简单用法
例3:
using System;
class Program
{
static void Main(string[] args)
{
//定义了表示整型变量的各个数据类型,它们之间所表示的整数范围是不一样的
sbyte sbt = 0;
byte bt = 1;
short st = 2;
int t = 3;
uint ut = 4;
long lt = 5;
ulong ult = 6;
//定义了表示浮点数变量的各个数据类型,它们之间所表示的浮点数的范围是不一样的
float f = 3.14159265358979323846f; //精度较低,输出这个数不会精确表示
double db = 3.14159265358979323846;
decimal dec = 3.14159265358979323846m; //后面用M或m都行
//定义了字符型、布尔型及字符串型变量
char c = 'a'; //不允许是空字符
bool b = false;
string s = "还是初学者"; //可以是空字符串
/*下面是对这些变量的值的输出*/
//注释,既可以用//,也可以用/**/,和C等语言是一样的
Console.WriteLine("sbyte型变量sbt = {0}", sbt);
Console.WriteLine("byte型变量bt = {0}", bt);
Console.WriteLine("short型变量st = {0}", st);
Console.WriteLine("int型变量t = {0}", t);
Console.WriteLine("uint型变量ut = {0}", ut);
Console.WriteLine("long型变量lt = {0}", lt);
Console.WriteLine("ulong型变量ult = {0}", ult);
/*输出变量,需先写{},里边的数字为正数,从0依次递增,类似于C中的%d、%f什么的,如下面这样,也是可以得*/
Console.WriteLine("float型变量f = {0},double型变量db = {1}", f, db);
Console.WriteLine("decimal型变量f = {0}", dec);
Console.WriteLine("char型变量c = {0}", c);
Console.WriteLine("bool型变量b = {0}", b);
Console.WriteLine("string型变量s = {0}\n", s); //换行符\n还是可以用的,转义字符的用法差不多
//另外,输出字符串也可以像下边这样,加一个@
Console.WriteLine(@"又断网了!
®
®®®
®®®®®
®®®®®®®
®®®®®®®®®
这个符号是无法正常显示的,不必对结果惊讶!");
Console.ReadKey();
}
}
输出结果为:
这些博客主要是讲我在学C#(我主要看的书是《C#本质论第三版》)的过程中,发现它和C/C++、Java的不尽相同之处,都是自己的见解,也是比较浅显的知识,如有错误,欢迎指出
如无说明,所有程序都是在Visual Studio 2012下运行通过