c#成为一种广泛应用的准也语言的原因:
c#的一些重要功能:
一个 c# 程序主要包括以下部分:
一个简单的实例如下:
using System;//命名空间
//namespace里包含了一系列的类
namespace Test1_1
{
//类包含了程序使用的数据和方法声明
class HelloWorld
{
//Main是c# 程序的入口点
static void Main(string[] args)
{
Console.WriteLine("Hello World");
//针对VS.NET用户,防止屏幕快速运行并关闭
Console.ReadKey();
}
}
}
注意:
c# 是大小写敏感的
所有的语句和表达式必须以分号结尾(与python不同)
程序的执行从Main方法开始
文件名可以不同于类的名称(与java不同)
以Rectangle为例:
using System;
namespace RectangleApplication
{
class Rectangle
{
// 成员变量
double length;
double width;
public void Acceptdetails()
{
length = 4.5;
width = 3.5;
}
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("Length:{0}", length);
Console.WriteLine("width:{0}", width);
Console.WriteLine("Area:{0}", GetArea());
}
}
class ExecuteRectangle
{
static void Main(String[] args)
{
Rectangle r = new Rectangle();
r.Acceptdetails();
r.Display();
Console.ReadLine();
}
}
}
输出结果为:
Length:4.5
Width:3.5
Area:15.75
using关键词
用于在程序中包含命名空间,一个程序可以包含多个 using语句。
在c# 程序中的第一条语句都是“using System”。
class关键词
用于声明一个类。
c# 中的注释
单行注释用“//”表示。例如:
/* This program demonstrates
The basic syntax of c# programming
Language */
多行注释以/*开始,并以/*终止。例如:
}//end class Rectangle
成员变量
变量是类的属性或数据成员,用于存储数据。如类Rectangle有两个成员变量:length和width。
成员函数
函数是一系列执行指定任务的语句。类的成员函数式在类内声明的。如类Rectangle包含了三个成员函数:AccepDetails()、GetArea()、Display()。
标识符
标识符是用来识别类、变量、函数或其他用户定义的项目。在c# 中,类的命名必须遵循如下基本规则:
c# 关键字
关键词是c# 编译器预定义的保留字。这些关键字不能用作标识符,如果想使用这些关键字作为标识符,可以再关键词前面加上@字符作为前缀。
保留关键字:
abstrat | as | base | bool | break | byte | case | catch | char |
---|---|---|---|---|---|---|---|---|
checked | class | const | continue | decimal | default | delegate | do | double |
else | enum | event | explicit | exterm | false | finally | fixed | float |
for | foreach | goto | if | implicit | in | int | interface | internal |
is | lock | long | namespace | new | null | object | operator | out |
override | params | private | protected | public | readonly | ref | return | sbyte |
sealed | short | sizeof | stackalloc | static | string | struct | suitch | this |
throw | true | trry | typeof | uint | ulong | unchecked | unsafe | ushort |
using | virtual | void | while. |
上下文关键字:
add | alias | ascending | descending | dynamic | from | get | global | group |
---|---|---|---|---|---|---|---|---|
into | join | let | orderby | partial | remove | select | set |
在c# 中,变量分为以下几种类型:
值类型
值类型变量可以直接分配给一个值。它们是从类System.ValueType中派生的。
值类型直接包含数据。比如int、char、float,它们分别存储数字、字符、浮点数。当声明一个int类型时,系统分配内存来存储值。
如需得到某个类型的具体尺寸,可以使用sizeof() 方法,产生以字节为单位的存储尺寸。
using System;
namespace DataTypeApplication
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Size of int:{0}", sizeof(int));
Console.ReadLine();
}
}
}
输出结果为:
Size of int:4
引用类型
引用类型不包含存储在变量的实际数据,但它们包含对变量的引用。
1.对象(Object)类型
是c# 通用类型中所有数据类型的终极基类,对象类型可以被分配任何其他类型的值,分配值之前,需先进行类型转换。
分箱:一个值类型转换为对象类型。
拆箱:一个对象类型转换为值类型。
如:
object obj;
obj = 100;//装箱
2.动态(Dynamic)类型
可以存储任何类型的值在动态数据类型中,这些变量的类型检查是在运行时发生的。
声明动态类型的语法:
dynamic <varible_name> = value;
例如:
dynamic d = 20;
动态类型与对象类型相似,但是对象类型的变量检查时在编译时发生的,而动态类型变量的检查时在运行时发生的。
3.字符串(String)类型
允许给变量分配任何字符串值,它是从对象类型派生的。字符串类型的值可以通过两种形式进行分配:引号和@引号
例如:
String str = "runoob.com";
@"runoob.com" //一个引号字符串
string str = @"c:\Windows";
string str = "C:\\Windows";//这两行代码是等价的
//@字符串可以任意换行,换行符及缩进空格都计算在长度之内。
string str = @"