关联内容
c#基础语法 http://blog.csdn.net/u012085988/article/details/19981161
1、变量定义。
变量声明后,一定要初始化后才能使用!否则编译器会视为只声明而没有定义,即编译器能识别这个变量,但变量没有映射到实际地址!
如 :
int num;
int c = num;
这时编译器就会报错!
2、类型推导
c#中的var与c++11中的auto功能一样,用于静态类型推导。
var a = 10; // c#. a 为int型
auto b = 10; // c++. b 为int型
3、const关键字
c#中的const只表示编译时常用,即能在编译时计算出其值,类似于c++11中的constexpr。而对于运行期的不变量,c#有另外一个关键字readonly
。
4、 c#中的类型总览
c#中的类型分为值类型和引用类型。值类型直接存储值,引用类型存储引用(值类型可以理解为c++中的变量,如 Type t, 而引用类型可以理解为指针,如 Type* p)。值类型存储在栈上,引用类型存储在堆上。
要区分值类型与引用类型的区别,因为同样的代码,对于值类型和引用类型可能有不同的效果。
VType x, y;
x = new VType();
y = x;
x.Value = 30;
y.Value = 50;
这段代码运行完后x.Value和y.Value都是50,因为它是引用类型,在调用“=”运算符时,执行的是浅拷贝。而VType若是值类型,则x和y的值就不一样了。
c#中的预定义的值类型。
①整型(8个)
名称 | CTS类型 | 说明 |
---|---|---|
sbyte | System.SByte | 8位有符号整型 |
short | System.Int16 | 16位有符号整型 |
int | System.Int32 | 32位有符号整型 |
long | System.Int64 | 64位有符号整型 |
byte | System.Byte | 8位无符号整型 |
ushort | System.UInt16 | 16位无符号整型 |
uint | System.UInt32 | 32位无符号整型 |
ulong | System.UInt64 | 64位无符号整型 |
注意:c#中并没有unsigned关键字!但它已经定义了预定义的无符号类型。
②浮点
名称 | CTS类型 | 说明 |
---|---|---|
float | System.Single | 32位单精度 |
double | System.Double | 64位双精度 |
③Decimal类型
名称 | CTS类型 | 说明 |
---|---|---|
decimal | System.Decimal | 128位 |
④bool类型
名称 | CTS类型 | 说明 |
---|---|---|
bool | System.Boolean | true和false |
⑤字符类型
名称 | CTS类型 | 说明 |
---|---|---|
char | System.Char | 16位的unicode字符 |
注意:c++中的char表示utf-8(8位),而c#中的char表示unicode16(16位),即与c++11中的char16_t一致。
预定义的引用类型
名称 | CTS类型 | 说明 |
---|---|---|
object | System.Object | 根类型,CTS中的所有类型都派生自它 |
string | System.String | Unicode字符串 |
5、控制语句
①条件:if, switch
c#中switch的case条件必须是编译时常量,这点与C++相同。但c#可以使用string作为测试条件,而c++不能
②循环 : for, while, do……while,foreach
foreach语法foreach( var temp in arr) ........
注意:foreach不能通过temp修改各项的值!!!!!
③跳转 : goto, break, continue, return
6、c#中关键字
abstract | as | base | bool | break | byte | case | catch | char | checked | class |
const | continue | decimal | default | delegate | do | double | else | enum | event | explicit |
extern | 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 | switch | this | throw | true | try |
typeof | uint | ulong | unchecked | unsafe | ushort | using | virtual | volatile | void | while |