C#复习②
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语句、格式输出语句
C#复习③友情链接:http://www.cnblogs.com/zpfbuaa/p/5590617.html
C#复习②的更多相关文章
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- vuex复习方案
这次复习vuex,发现官方vuex2.0的文档写得太简略了,有些看不懂了.然后看了看1.0的文档,感觉很不错.那以后需要复习的话,还是先看1.0的文档吧.
- 我的操作系统复习——I/O控制和系统调用
上篇博客介绍了存储器管理的相关知识——我的操作系统复习——存储器管理,本篇讲设备管理中的I/O控制方式和操作系统中的系统调用. 一.I/O控制方式 I/O就是输入输出,I/O设备指的是输入输出设备和存 ...
- 复习(1)【Maven】
终于开始复习旧知识了,有输入必然要有输出.输入和输出之间的内化过程尤为重要,在复习的同时,真正把学到的东西积淀下来,加深理解. Maven项目概念与配置 Maven是一个项目管理和综合工具.Maven ...
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- JS复习--更新结束
js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...
- jQuery 复习
jQuery 复习 基础知识 1, window.onload $(function(){}); $(document).ready(function(){}); 只执行函数体重的最后一个方法,事 ...
- jQuery5~7章笔记 和 1~3章的复习笔记
JQery-05 对表单和表格的操作及其的应用 JQery-06 jQuery和ajax的应用 JQery-07 jQuery插件的使用和写法 JQery-01-03 复习 之前手写的笔记.实在懒得再 ...
- HTML和CSS的复习总结
HTML(Hypertext Markup Language)超文本标记语言:其核心就是各种标记!<html> HTML页面中的所有内容,都在该标签之内:它主要含<head>和 ...
- 2017年1月1日 java学习第二天复习
今天是新年的第一天,以前学习没有总结习惯,学习效率和成果都很不好. 学习的过程就是反复的复习和不断学习的过程,开始今天的学习总结 学习java的第二天. 今天学习了java最基础的一些内容,照着 ...
随机推荐
- C语言学习005:不能修改的字符串
一段有问题的代码,你能看出来么? int main(){ char* msg="ABC"; msg[]=msg[]; puts(msg); ; } 编译这段代码并不会有什么问题,一 ...
- easyui-layout 布局自适应
最近在把以前写的一个项目改成用easyui做前端.过程中遇到了不少问.其中一个就是datagrid不能很好的布.想了好多办法都有局限.最后想到会不会是布局的问题,经过实,最后问题解. 1:比如在项目中 ...
- 反编译APK文件
有时源代码丢失了,这时如果有apk文件的话,是可以对apk文件反编译得到源文件的,本文介绍一下简单的反编译apk文件的过程. 1.工具 反编译apk需要的工具有两个:apk2java和apktool, ...
- 如何很好的Review自己的代码
写这篇博文的原因是因为自己写的代码经常会因为返工,delay项目的交付日期.总结了一下引起项目delay的原因,大概有如下几点: 在没有完全深熟悉需求交互细节的情况下:诸如根据不同渠道设置不同的订单状 ...
- Web应用网络模型
Web应用网络模型 前言 这篇文章要介绍的是一个常见Web应用基本的过程跟网络模型,当然,对于多数的Client/Server应用也是适用的.延续这个系列文章的风格,只管通俗不管严谨. 概览 总体模型 ...
- [转载][翻译] IoC 容器和 Dependency Injection 模式
原文地址:Inversion of Control Containers and the Dependency Injection pattern 中文翻译版本是网上的PDF文档,发布在这里仅为方便查 ...
- rabbitmq inequivalent arg 'x-message-ttl' for queue 'QUEUE_NAME' in vhost '/'异常解决
中午调整了一台应用服务的mq ttl参数后,重启时出现如下异常: Caused by: com.rabbitmq.client.AlreadyClosedException: channel is a ...
- 《Continuous Integration》读书笔记
Trigger a Build whenever a change occurs. it can help us reduce assumptions on a projecvt by rebuild ...
- jScrollPane 美化滚动条
在线实例 滚动条可见 滚动条隐藏 使用方法 <div class="container"> <h1>滚动条可见</h1> <div cla ...
- 分享一组很赞的 jQuery 特效【附源码下载】
作为最优秀的 JavaScript 库之一,jQuery 不仅使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入漂亮的效果.这篇文章挑选了8个优秀的 jQuery 实例教程,这些 ...