c#代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Collections;//以上为引用各个命名空间namespaceAddressBook{publicclassBook{Recordrec;//定义一个Record类publicArrayListrecords;//定义一个ArraryList型实例publicboolstate;//定义一个bool类型的公有变量publicBook()//初始化records和state{records=FileVisit.Fill();state=true;}publicArrayListFillRecord()//定义一个返回值类型是ArrayList的函数{returnFileVisit.Fill();//函数的返回值}publicvoidAddRecord(stringname,stringphone,stringaddress){//定义一个带有3个String类型参数的函数Recordrecord=newRecord(records.Count,name,phone,address);//实例化一个Record类records.Add(record);添加一条记录到records}publicboolDeleteRecord(int_id)//定义一个返回值是bool类型,且带有一个int型参数的函数{Recordrec=FindRecord(_id);//定义一个Record型变量,赋值为FindRecord(_id)的返回值if(rec!=null)//如果rec为空{records.Remove(rec);//删除recreturntrue;返回true}elsereturnfalse;//如果不为空。返回false}publicRecordFindRecord(int_id)定义返回类型为Record、参数类型为int的函数{foreach(Recordrecordinrecords)//用循环一次检测并进行以下判断if(record.Id==_id)//如果record.Id与传进来的参数相等rec=record;//赋值elserec=null;returnrec;}publicboolModifyRecord(int_id,string_name,string_phone,string_address)//定义bool类型的函数,带有4个参数{Recordrecord=FindRecord(_id);//实例化一个Record类型的类//以下为对各个成员的赋值record.Id=records.Count;record.Name=_name;record.Phone=_phone;record.Address=_address;state=false;returnstate;}publicvoidUpdateRecord()//更新records{FileVisit.Update(records);}}}2、C#代码规范.NET程序员需要提升的修养博客园我要评论(0)没有规矩不成方圆,.NET程序员在日常的工作中坚持良好的编码习惯,对于今后的代码维护以及交接工作都大有裨益。1.引言本文是一套面向C#programmer和C#developer进行开发所应遵循的开发规范。按照此规范来开发C#程序可带来以下益处:·代码的编写保持一致性,·提高代码的可读性和可维护性,·在团队开发一个项目的情况下,程序员之间可代码共享·易于代码的回顾,本规范是初版,只适用于一般情况的通用规范,并不能覆盖所有的情况。2.文件组织2.1C#源文件类名或文件名要简短,不要超过2000LOC,将代码分割开,使结构清晰。将每个类放在一个单独的文件中,使用类名来命名文件名(当然扩展名是.cs)。这种约定会使大家工作更简单。2.2目录设计为每一个命名空间创建一个目录。(用MyProject/TestSuite/TestTier作为MyProject.TestSuite.TestTier的路径,而不用带点的命名空间名做路径)这样可以更容易地将命名空间映射到目录层次划分。3.缩进3.1换行当一个表达式超过一行时,根据这些通用原则进行处理:·在逗号后换行。·在操作符后换行。·在高层换行而不要在低层处换行。·折行后对齐上一行语句同一层的表达式起始位置。方法调用换行示例:1.longMethodCall(expr1,expr2,2.3.expr3,expr4,expr5);算术表达式换行示例:推荐:4.var=a*b/(c-g+f)+5.6.4*z;不好的格式——应避免:7.var=a*b/(c-g+8.9.f)+4*z;推荐使用第一种方法,因为是在括号表达式之外折行(高层次折行原则)。注意要用制表符到缩进的位置,然后用用空格到折行的位置。在我们的例子中是:10.var=a*b/(c-g+f)+11.12.......4*z;''表示是制表符,'.'表示是空格符。(制表符后是空白是用制表符缩进)。一个好的编码习惯就是在所用的编辑器中显示制表符和空格符。3.2空白利用空格进行缩进从未有过统一的标准。一些人喜欢用两个空格,一些人喜欢用四个空格而还有一些人喜欢用八个空格,甚至有的人喜欢用更多的空格。好的做法是用制表符。制表符有一些优点:·每个人都可以设置他们自己喜欢的缩进层级。·它仅仅是1个字符而不是2,4,8等等,因此它将减少输入(甚至因为自动缩进,有时你不得不手工设置缩进或取消设置,等等诸如此类的操作)。·如果你想增加或减少缩进,可以标记一块,使用Tab增加缩进层级而用Shift-Tab减少缩进层级。这几乎对于任何文本编辑器都是适用的。这里,我们定义制表符为标准缩进符。不要用空格缩进—用制表符!4.注释4.1块注释块注释通常应该是被避免的。推荐使用///注释作为C#的标准声明。如果希望用块注释时你应该用以下风格:13./*Line114.15.*Line216.17.*Line318.19.*/因为样可以为读者将注释块与代码块区分开。虽然并不提倡使用C风格的单行注释,但你仍然可以使用。一旦用这种方式,那么在注释行后应有断行,因为很难看清在同一行中前面有注释的代码:20./*blahblahblah*/块注释在极少情况下是有用的。通常块注释用于注释掉大的代码段。4.2单行注释你应该用//注释风格“注释掉”代码(快捷键,Alt+/)。它也可以被用于代码的注释部分。单行注释被用于代码说明时必须缩进到相应的编进层级。注释掉的代码应该放在第一行被注释掉以使注释掉的代码更容易看清。一条经验,注释的长度不应该超过被解释代码的长度太长,因为这表示代码过于复杂,有潜在的bug。4.3文件注释在.net框架,Microsoft已经介绍了一个基于XML注释的文件。这些文件是包括XML标签的正规的单行的C#注释。他们遵循单行注释的模式:21.///summary22.23.///Thisclass...24.25.////summary多行XML注释遵循这种模式:26.///exceptioncref=”BogusException”27.28.///Thisexceptiongetsthrownassoonasa29.30.///Bogusflaggetsset.31.32.////exception为了被认作是XML注释行,所有的行都必须用三个反斜线开始。标签有以下两类:·文件说明项·格式/参考第一类包括像summary,paramorexception的标签。描述一个程序的API元素的这些文档说明项必须写清楚以方便其他程序员。如上面的多行注释示例所示,这些标签通常带有名称或cref属性。编译器会检查这些属性,所以它们必须是有效、正确的。第二类用诸如code,listorpara标签,用于控制备注说明的布局。文件可以用‘文件’菜单中的‘创建’菜单产生。文件以HTML格式产生。5.声明5.1每行的声明数推荐每行只有一个声明,因为它可以方便注释。33.intlevel;//indentationlevel34.35.intsize;//sizeoftable当声明变量时,不要把多个变量或不同类型的变量放在同一行,例如:36.inta,b;//Whatis'a'?Whatdoes'b'standfor?上面的例子也显示了变量名不明显的缺陷。当命名变量时要清晰。5.2初始化局部变量一旦被声明就要初始化。例如:37.stringname=myObject.Name;或38.intval=time.Hours;注意:如果你初始化一个dialog,设计使用using语句:39.using(OpenFileDialogopenFileDialog=newOpenFileDialog()){40.41....42.43.}5.3类和接口声明当编写C#类和接口时,应遵循以下格式化规则:·在方法名和圆括号“(”开始它的参数列表之间不要使用空格。·在声明语句的下一行以大括号{标志开始。·以}结束,通过它自身的缩进与相应的开始标志匹配。例如:44.ClassMySample:MyClass,IMyInterface45.46.{47.48.intmyInt;49.50.publicMySample(intmyInt)51.52.{53.54.this.myInt=myInt;55.56.}57.58.voidInc()59.60.{61.62.++myInt;63.64.}65.66.voidEmptyMethod()67.68.{69.70.}71.72.}对于一个大括号的位置参考10.1部分。6.语句6.1简单语句每行都应该只包含一条语句。6.2返回语句一个返回语句不要用最外围圆括号。不用:return(n*(n+1)/2);用:returnn*(n+1)/2;6.3If,if-else,ifelse-ifelse语句if,if-elseandifelse-ifelse语句看起来应该像这样:73.if(condition){74.75.DoSomething();76.77....78.79.}80.81.if(condition){82.83.DoSomething();84.85....86.87.}else{88.89.DoSomethingOther();90.91....92.93.}94.95.if(condition){96.97.DoSomething();98.99....100.101.}elseif(condition){102.103.DoSomethingOther();104.105....106.107.}else{108.109.DoSomethingOtherAgain();110.111....112.113.}6.4for/foreach语句一个for语句应该如下形式:114.for(inti=0;i5;++i){115.116....117.118.}或者放置一行(考虑用一个while语句代替)119.for(initialization;condition;update);foreach语句应该像下面所示:120.foreach(intiinIntList){121.122....123.124.}注意:在一个循环中,即使只有一个语句通常也用括弧括起来。6.5While/do-while语句一个while语句应该写成如下形式:125.while(condition){126.127....128.129.}一个空while语句应该是以下格式:while(condition);一个do-while语句应该是如下格式:130.do131.132.{

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功