C#常用的命名规则汇总

本文详细汇总了C#常用的命名规则。分享给大家供大家参考。具体如下:

Pascal 规则
每个单词开头的字母大写(如 TestCounter).
 
Camel 规则
除了第一个单词外的其他单词的开头字母大写. 如. testCounter.

Upper 规则
仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用Pascal规则.

例如:

代码如下:

public class Math
{
public const PI = ...
public const E = ...
public const FeigenBaumNumber = ...
}

具体的规则总结如下:
 
类命名指导

- 类名应该为名词及名词短语,尽可能使用完整的词.
- 使用Pascal规则
- 不要使用类前缀 - 不要使用下划线字符 (_)。
- 有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore 就是适当的。
- 在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原因是 ApplicationException 是一种 Exception。请在应用该规则时进行合理的判断。例如,Button 对于从 Control 派生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。
 
接口命名规则

- 接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (Example IComponent or IEnumberable)
- 使用Pascal规则
- 使用字符I为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)
例如:

代码如下:

interface ICompare
{
int Compare();
}

枚举命名规则

- 对于 Enum 类型和值名称使用 Pascal 大小写。
- 少用缩写。
- 不要在 Enum 类型名称上使用 Enum 后缀。
- 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。
- 总是将 FlagsAttribute 添加到位域 Enum 类型。
 
 
 变量命名

- 在简单的循环语句中计数器变量使用 i, j, k, l, m, n
- 使用 Camel 命名规则
 
方法命名

- 使用Pascal规则
- 对方法名采用一致的动词/宾语或宾语/动词顺序。例如,将动词置于前面时,所使用的名称诸如 InsertWidget 和 InsertSprocket;将宾语置于前面时,所使用的名称诸如 WidgetInsert 和 SprocketInsert。
- 推荐名称应该为动词或动词短语.例如Save,SaveCustomer,而不要使用CustomerSave
- 不要在方法中重复类的名称。例如,如果某个类已命名为 Book,则不要将某个方法称为 Book.CloseBook,而可以将方法命名为 Book.Close。
 
属性命名

- 名称应该为名词及名词短语
- 使用Pascal规则
- 对于bool型属性或者变量使用Is(is)作为前缀,不要使用Flag后缀,例如应该使用IsDeleted,而不要使用DeleteFlag
 
集合命名

- 名称应该为名词及名词短语
- 使用Pascal规则
- 名称后面追加“Collection”
 
事件命名

- event handlers命名使用 EventHandler 后缀.
- 两个参数分别使用 sender 及 e
- 使用Pascal规则
- 事件参数使用EventArgs 后缀
- 事件命名使用语法时态反映其激发的状态,例如 Changed,Changing.
- 考虑使用动词命名. 变量命名
- 在简单的循环语句中计数器变量使用 i, j, k, l, m, n
- 使用 Camel 命名规则
 
自定义的属性以Attribute结尾

代码如下:

public class AuthorAttribute : Attribute
{
}

自定义的异常以Exception结尾

代码如下:

public class AppException : Exception
{
}

其它常用的编码规则
 
代码的缩进。要用Tab,而不要用space.
局部变量的名称要有意义。不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n)。
所有的成员变量声明在类的顶端,用一个换行把它和方法分开。
用有意义的名字命名namespace,如:产品名、公司名。
始终使用"{ }"包含if下的语句,即使只有一条语句。
把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion。
 
命名规范的总结用表格表示如下:

与类相关:


标识符


大小写


示例


类/结构


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

与ADO.NET有关


数据类型


数据类型简写


标准命名举例


Connection


con


conNorthwind


Command


cmd


cmdReturnProducts


Parameter


parm


parmProductID


DataAdapter


dad


dadProducts


DataReader


dtr


dtrProducts


DataSet


dst


dstNorthWind


DataTable


dtbl


dtblProduct


DataRow


drow


drowRow98


DataColumn


dcol


dcolProductID


DataRelation


drel


drelMasterDetail


DataView


dvw


dvwFilteredProducts

与页面控件有关


数据类型


数据类型简写


标准命名举例


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

与页面控件有关


数据类型


数据类型简写


标准命名举例


AdRotator


adrt


Example


Button


btn


btnSubmit


Calendar


cal


calMettingDates


CheckBox


chk


chkBlue


CheckBoxList


chkl


chklFavColors


CompareValidator


valc


valcValidAge


CustomValidator


valx


valxDBCheck


DataGrid


dgrd


dgrdTitles


DataList


dlst


dlstTitles


DropDownList


drop


dropCountries


HyperLink


lnk


lnkDetails


Image


img


imgAuntBetty


ImageButton


ibtn


ibtnSubmit


Label


lbl


lblResults


LinkButton


lbtn


lbtnSubmit


ListBox


lst


lstCountries


Panel


pnl


pnlForm2


PlaceHolder


plh


plhFormContents


RadioButton


rad


radFemale


RadioButtonList


radl


radlGender


RangeValidator


valg


valgAge


Regularexpression_r


vale


valeEmail_Validator


Repeater


rpt


rptQueryResults


RequiredFieldValidator


valr


valrFirstName


Table


tbl


tblCountryCodes


TableCell


tblc


tblcGermany


TableRow


tblr


tblrCountry


TextBox


txt


txtFirstName


ValidationSummary


vals


valsFormErrors


XML


xmlc


xmlcTransformResults

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • Javascript 直接调用服务器C#代码 ASP.NET Ajax实例

    在MS Ajax中,JS与C#交互的一种方式就是调用WebService,该WebService可以ASMX的也可以是WCF的,不论哪种方式,系统都会自动为开发者生成代理的JS类.实现方法如下: 1.        建立一个网站,并在其中添加一个WCF服务(这里一定要选择Ajax-Enabled WCF Service),如下图所示: 2.        IDE会自动为我们生成一个SVC文件,是对外的接口,以及该SVC对应的后台实现类,该类文件会被放在App_Code下,如下图所示: 3.修改该

  • javascript与asp.net(c#)互相调用方法

    1.获得aspx客户端请求地址: 复制代码 代码如下: <a src= 'http://<%=Request.Url.Host %><%= ResolveUrl("../PayCenter/AlipayAdd.aspx")%>'>地址</a> 2.C#调用客户端方法:(top.window.document:表父窗体,如果是MainFrame对象在本窗体中,则不加top.window.document) Js中的方法: 复制代码 代码如下

  • asp.net(C#)解析Json的类代码

    本次工作内容是要将以下数据解析成.Net可以使用的数据,返回的数据除了header,其他的都是可变的,也就是说结构不是固定的.完全由用户选择,所以选择了生成DataTable. Json数据格式如下: 复制代码 代码如下: {"dataSet":{ "header":{ "returnCode":"0", "errorInfo":"HTTP请求错误", "version&quo

  • C#数组排序的两种常用方法

    本文实例讲述了C#数组排序的两种常用方法.分享给大家供大家参考.具体如下: 1.第一个例子 定义代码 #region Array数组排序1 public class Pigeon : IComparable<Pigeon> //类元素本身继承比较接口 { int XValue; int YValue; public string BatchNo { get; set; } public int CompareTo(Pigeon other) { if (other == null) throw

  • 10个C#程序员经常用到的实用代码片段

    1 读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Console.WriteLine("Platform: {0}", os.Platform); Console.WriteLine("Service Pack: {0}", os.ServicePack); Console.WriteLine("Version: {0}", os.Version); Consol

  • C#中载入界面的常用方法

    本文实例讲述了C#中载入界面的常用方法.分享给大家供大家参考.具体方法分析如下: 方法1.采用事件委托的方法  对象:主窗体:FrmMain 加载窗体:FrmLoading  思路:  在主窗体加载前显示窗体FrmLoading,当主窗体加载完毕后(第一次显示的时候),关闭FrmLoading C#代码如下所示: 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; usin

  • C#中String类常用方法汇总

    本文实例汇总了C#中String类常用方法.分享给大家供大家参考.具体分析如下: C#中的String类很有用,下面是一些它的常用方法的总结,如果灵活运用这些的话,String类就掌握的差不多了. .ToLower()    //转为小写字符串"AbC"-->"abc" .ToUpper()    //转为大写"AbC" -->"ABC" .Trim()       //去掉字符串首尾的空格"  abc

  • 常用C#正则表达式汇总介绍

    有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的<C#字符串和正则表达式参考手册>学习了一些基础的知识,同时也为我在CSDN大概赚了1000分,今天想起来,去找<C#字符串和正则表达式参考手册>时,已经不知所踪了.现在用到正则的时候也比较少,把以前的笔记等整理一下,以志不忘. (1)"@"符号 符下两ows表研究室的火热,当晨在"@"虽然并非C#正则表达式

  • C#控制键盘按键的常用方法

    本文实例讲述了C#控制键盘按键的常用方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; names

  • asp.net中javascript与后台c#交互

    最近做一个小项目,网页中嵌入google maps,输入经纬度坐标可以定位地图位置并加注标记,点击标记获取远端摄像头数据并在视频窗口实现播放.在实际操作过程中,由于经纬度数据和视频登录的用户名密码数据均要从后台数据库中提取,而第三版的google maps api又是在javascript中实现的,因此不可避免的需要前端脚本与后台进行交互.由于是在asp.net中实现,故问题演化成asp.net中javascript与后台c#如何进行交互. C#代码与javaScript函数的相互调用主要有四个

  • 总结ASP.NET C#中经常用到的13个JS脚本代码

    在C#开发过程中,免不了写一些JS,其实做后端开发的,本身不擅长写JS,干脆总结一下,方便自己也方便别人,分享给大家.呵呵~~ 1.按钮前后台事件 复制代码 代码如下: <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" OnClientClick="alert('客房端验证,阻止向服务器端提交');retu

  • 常用C#关键字详解教程(比较全面)

    不论你是新手还是老手,是否对C#的某些关键字有些摸不到头脑呢?现在我就和大家一起学习一下这些关键字的含义 类型 Void 用作方法的返回类型时,void 关键字指定方法不返回值. 在方法的参数列表中不允许使用 void.采用以下形式声明一个无参数的.不返回值的方法: Ovid SampleMethod(); Var 在方法范围中声明的变量可以具有隐式类型 var.隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型. 有返回值 引用类型 Class 类是使用关键字 c

  • asp.net(C#)中给控件添加客户端js事件的方法

    放在服务器端,也可以用ajax来实现,不刷页面.但我觉得有更直接更简单方法,用一个js事件是可以实现的. 但,DropDownList不偈Button等控件提供了一些像"OnClientClick"前台事件,只有服务端事件. 想到,所有C#页面代码,最终都是生成HTML,js事件也是最终运在浏览器中,以Html为基础的.服务端控件最终生成的HTML控件有什么js事件,我们应该就能在aspx中给它添加相应的事件. DropDownList 生成的Htm是元素<Select>是

随机推荐