C#复习②
2016年6月15日
09:08
1.C#之Symbols
Identifier = (letter|'_'|'@'){letter|digit|'_'}.
需要注意:
1.Unicode编码
2.大小写敏感
3.@又来指定符号还是表示符
If…… keyword
@if……identifier if
2.命名规则Naming Conventions
推荐博客:http://blog.sina.com.cn/s/blog_735f1bcd01017rer.html
Pascal 规则
每个单词开头的字母大写(如 TestCounter).
Camel 规则
除了第一个单词外的其他单词的开头字母大写. 如. testCounter.
Upper 规则
仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用Pascal规则.
标识符 |
大小写 |
示例 |
类/结构 |
Pascal |
AppDomain |
枚举类型 |
Pascal |
ErrorLevel |
枚举值 |
Pascal |
FatalError |
事件 |
Pascal |
ValueChange |
异常类 |
Pascal |
WebException 注意 总是以 Exception 后缀结尾。 |
只读的静态字段 |
Pascal |
RedValue |
接口 |
Pascal |
IDisposable 注意 总是以 I 前缀开始。 |
集合 |
Pascal |
CustomerCollection 注意 总是以Collection结束 |
方法 |
Pascal |
ToString |
命名空间 |
Pascal |
System.Drawing |
参数 |
Camel |
typeName |
属性 |
Pascal |
BackColor |
受保护的实例字段 |
Camel |
redValue 注意 很少使用。属性优于使用受保护的实例字段。 |
公共实例字段 |
Pascal |
RedValue 注意 很少使用。属性优于使用公共实例字段。 |
与变量命名相关
类型 |
前缀 |
示例 |
Array |
arr |
arrShoppingList |
Boolean |
bln |
blnIsPostBack |
Byte |
byt |
bytPixelValue |
Char |
chr |
chrDelimiter |
DateTime |
dtm |
dtmStartDate |
Decimal |
dec |
decAverageHeight |
Double |
dbl |
dblSizeofUniverse |
Integer |
int |
intRowCounter |
Long |
lng |
lngBillGatesIncome |
Object |
obj |
objReturnValue |
Short |
shr |
shrAverage |
Single |
sng |
sngMaximum |
String |
str |
strFirstName |
与页面控件有关
数据类型 |
数据类型简写 |
标准命名举例 |
Label |
lbl |
lblMessage |
LinkLabel |
llbl |
llblToday |
Button |
btn |
btnSave |
TextBox |
txt |
txtName |
MainMenu |
mmnu |
mmnuFile |
CheckBox |
chk |
chkStock |
RadioButton |
rbtn |
rbtnSelected |
GroupBox |
gbx |
gbxMain |
PictureBox |
pic |
picImage |
Panel |
pnl |
pnlBody |
DataGrid |
dgrd |
dgrdView |
ListBox |
lst |
lstProducts |
CheckedListBox |
clst |
clstChecked |
ComboBox |
cbo |
cboMenu |
ListView |
lvw |
lvwBrowser |
TreeView |
tvw |
tvwType |
TabControl |
tctl |
tctlSelected |
DateTimePicker |
dtp |
dtpStartDate |
HscrollBar |
hsb |
hsbImage |
VscrollBar |
vsb |
vsbImage |
Timer |
tmr |
tmrCount |
ImageList |
ilst |
ilstImage |
ToolBar |
tlb |
tlbManage |
StatusBar |
stb |
stbFootPrint |
OpenFileDialog |
odlg |
odlgFile |
SaveFileDialog |
sdlg |
sdlgSave |
FoldBrowserDialog |
fbdlg |
fgdlgBrowser |
FontDialog |
fdlg |
fdlgFoot |
ColorDialog |
cdlg |
cdlgColor |
PrintDialog |
pdlg |
pdlgPrint |
3.注释三种形式
// a comment
/* a comment */
/// <summary>
/// comments
/// </summary>
4.C # 之 Type
在C#之中类型分为两种:引用类型和值类型
引用类型下面有:类,接口,数组,委托
值类型下面有:基本数值类型(bool, char, sbyte, short, int, long, byte, ushort, uint, ulong, float, double, decimal),枚举类型,结构体
5.值类型与引用类型
6.值类型的取值范围
7.值类型之间的转换
8.结构体
9.类
(C# 中Object类为所有类的基类) 在Object中定义了下面的常用方法: Class Object{ Public virtual bool Equals(object o){…} Public virtual string ToString(){…} Public virtual int GetHashCode(){…} … }
10.类与结构体的区别
类:
1.引用类型(对象分配在堆上)
2.支持继承
3.可以实现接口
4.能够声明构造函数
5.可以有析构函数
结构体:
1.值类型(对象分配在栈上)
2.没有继承
3.可以实现接口
4.禁止声明构造函数
5.没有析构函数
11.C# 装箱Boxing与拆箱Unboxing
1. 装箱在值类型向引用类型转换时发生
2. 拆箱在引用类型向值类型转换时发生
值类型包括
原类型(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)
枚举 (enum)
结构 (struct)。
引用类型包括
类 数组 接口 委托 字符串等
object obj = 1; |
这行语句将整型常量1赋给object类型的变量obj;常量1是值类型,值类型是要放在栈上的,而object是引用类型,它需要放在堆上;要把值类型放在堆上就需要执行一次装箱操作。
object objValue = 4; int value = (int)objValue; |
上面的两行代码会执行一次装箱操作将整形数字常量4装箱成引用类型object变量objValue;然后又执行一次拆箱操作,将存储到堆上的引用变量objValue存储到局部整形值类型变量value中。
装箱操作会导致数据在堆和栈上进行拷贝,频繁的装箱操作会性能损失。而相比而言拆箱过程对性能损耗还是比较小的。
C#复习③摘要: if语句、switch语句、Loops语句、Jump语句、格式输出语句