- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
反编译软件.Net Reflector针对C#编译出来的exe
软件小巧,功能强大
如果需要开发商业程序,或对开发的程序有一定的保密要求,则必须对程序进行加密
常用的技术是使用混淆器
CodeSmith
可快速生成项目中所有类的框架,省去许多重复劳动。在NET开发人员当中十分流行
是收费软件,30天试用期
FxCop 微软出品
代码标准 检查工具
可检测代码是否符合规范
对于保证程序的健壮性有很好的帮助,是免费软件。
GhostDoc 自动添加注释工具
建议在任何时候都不要使用中文作为标识符。
国际化加剧,必须考虑项目的国际化和可维护性
尤其软件外包时,使用任何非英文的标识符都是不合时宜的
注释中可以采用英文,
有能力的人进行程序开发时全部使用英文
写代码时,标识符不能使用C#的保留字,建议也不要使用其它编程语言的关键字(如VB)
尽量不通过大小写区分标记符(考虑到以后可能在VB语言中调用C#函数)
设置关键字的显示方式(颜色等 ):工具=>选项=>环境 =>字体和颜色
可以重载一个方法的参数,
但不能重载方法的返回类型
重构:
如果发现有重复的代码块,可以选中它,右键=>重构=>提取方法=>输入方法名称
可以判断方法是否应该获取任何参数,以及是否应该返回一个值
“调试”工具栏
F11键:“逐语句”按钮
F10键:逐过程
跳出:导致方法在不被打断的情况 下,一直执行到它的末尾
抛出异常 示例
将传入的1-12转换为月份英文,对其它的值抛出一个异常(在.Net Framework类库中找出相应的异常类)
一个更好的解决方案是在
为了确保一个语句(如资源释放语句***,如断开数据库连接)总是运行(不管是否拋出一个异常),需要将该语句放到一个finally块中。
finally块要么紧接在try块之后,要么紧接在try块之后的最后一个catch处理程序之后
TextReader reader=null;
Try
{
reader=src.OpenText();
string line;
while ((line=reader.ReadLine()!=null)
{
Source.Text+=line + “\n”;
}
}
Finally
{
If(reader!=null)
{
Reader.close();
}
类中的变量称为“字段(field)”
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ClassCircle aa = new ClassCircle(5);
double a = aa.Area();
}
}
class ClassCircle
{
public ClassCircle()//默认构造函数
{
radius = 0;
}
public ClassCircle(int intialRadius)//重载的构造函数
{
radius = intialRadius;
}
public double Area()
{
return System.Math.PI * radius * radius;
}
private int radius;
}
当引用类型不再需要时,便把它们设置为null,这通常是一种好的编程习惯
将null赋给一个对象,意味着不再使用这个对象了。
LINQ 对“对象”进行筛选,消除了对象与数据之间的区别。
Person[] people={new Person(Jonh,35),new Person(Jill,30);
var ageQuery=from p in people
where p.age30
select p;
foreach(var p in ageQuery)
{
}
用“///”模式进行单行注释
然后,打开C#项目 =>“项目=>项目属性》生成=>生成xml文档 good
样例:
其中前缀E代表事件,F代表字段
M代表方法
N代表命名空间
P代表属性
T代表类型
!代
文档评论(0)