开始C#之旅
注释
/// <summary>
/// 3.文档注释
/// </summary>
private static void Test()
{
Console.WriteLine("Hello world!");// 1.单行注释
Console.ReadKey();
/* 2.块注释
Console.WriteLine("Hello world!");
Console.ReadKey();
*/
}
命名空间
C#程序是利用命名空间组织起来的。命名空间既用作程序的“内部”组织系统,也用作向“外部”公开的组织系统(即一种向其他程序公开自己拥有的程序元素的方法)。如果要调用某个命名空间中的类或者方法,首先需要使用using指令引入命名空间,using指令将命名空间名所标识的命名空间内的类型成员导入当前编译单元中,从而可以直接使用每个被导入的类型的标识符,而不必加上它们的完全限定名。
C#中的各命名空间就好像是一个存储了不同类型的仓库,而using指令就好比是一把钥匙,命名空间的名称就好比仓库的名称,可以通过钥匙打开指定名称的仓库,从而在仓库中获取所需的物品。
命名空间:namespace 命名空间名称{}
using指令的基本形式:using 命名空间名;
Main方法
C# Main()是C#应用程序的入口点,执行这个函数就是执行应用程序。也就是说,在执行过程开始时,会执行Main()函数,在Main()函数执行完毕时,执行过程就结束了。
C# Main函数的四种情况:
1) static void Main(){ }
2) static int Main(){ }
3) static void Main(string[] args) {}
4) static int Main(string[] args) {}
1) 主程序Main函数一共有以上四种版
2) 一个程序中不能有两个以上的Main函数,有且只有一个
3) Main函数只能返回int类型,如果返回1,则从命令行调用不成功。否则成功
4) 在命令行传输参数时,存放在string数组args中。使用Length属性来测试输入参数的个数。
5) 使用foreach语句来检索所有的参数
6) 程序入口主要供其他程序来执行本程序功能
标识符及关键字
标识符是指在程序中用来表示事物的单词,例如,System命名空间的类Console,以及Console类的方法WriteLine都是标识符。标识符的命名有三个基本规则:
1) 标识符只能由数字、字母和下划线组成。
2) 标识符必须以字母或者下划线开头。
3) 标识符不能是关键字。
关键字是指C#语言中具有特殊意义的单词,它们被C#设定为保留字,不能随意使用。例如static和void 都是关键字。
注:在对类、变量、方法等进行命名时,不要与标识符和关键字重名。
程序编写规范
a) 代码书写规则
尽量使用接口,然后使用类实现接口,以提高程序的灵活性。
一行不要超过80个字符。
尽量不要手工更改计算机生成的代码,若必须更改,一定要改成和计算机生成的代码风格一样的。
关键的语句(包括声明关键的变量)必须要写注释。
建议局部变量在最接近使用它的地方声明。
不要使用goto系列语句,除非是用在跳出深层循环时。
避免写超过5个参数的方法。如果要传递多个参数,则使用结构。
避免书写代码量过大的try…catch模块。
避免在同一文件中放置多个类。
生成和构建一个长的字符串时,一定要使用StringBuilder类型,而不用string类型。
switch语句一定要有default语句来处理意外情况。
对于if语句,应该使用一对“{}”把语句块包含起来。
尽量不使用this关键字引用。
b) 命名规范
用Pascal规则来命名方法和类型,Pascal的命名规则是第一个字母必须大写,并且后面的连接词的第一个字母均为大写。例如:DataGrid
用Camel规则来命名局部变量和方法的参数,该规则是指名称中的第一个单词的第一个字母小写。例如:strUserName
所有的成员变量前加前缀“_”。例如:_connnectionString
接口的名称加前缀“I”。例如:Iconvertible
方法的命名,一般将其命名为动宾短语。例如:CreateFile
所有的成员变量声明在类的顶端,用一个换行把它和方法分开。
用有意义的名字命名命名空间,如公司名、产品名。
使用某个控件的值时,尽量命名局部变量。
《C#从入门到精通》读后总结
开始C#之旅的更多相关文章
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- Hadoop学习之旅二:HDFS
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...
- .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点
2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...
- 【Knockout.js 学习体验之旅】(3)模板绑定
本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(2)花式捆绑
本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- WCF学习之旅—第三个示例之二(二十八)
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1) 使用NuGet下载最新版的Entity Fram ...
- WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
随机推荐
- 【转】win7与VMware ubuntu虚拟机实现文件共享(最后一定要装open-vm-dkms插件)
原文网址:http://blog.sina.com.cn/s/blog_453b9efb01019hpl.html 一般来说,由于一些特殊的需要,会在Win7系统中利用虚拟机(VMware)安装ubu ...
- WinForm触摸屏程序功能界面长时间不操作自动关闭回到主界面 z
操作者经常会在执行了某操作后,没有返还主界面就结束了操作然后离开了,程序应该关闭功能窗体自动回到主界面方便下一位操作者操作.那么对于WinForm程序怎么实现呢? 实现原理:拦截Application ...
- FZU2224 An exciting GCD problem 区间gcd预处理+树状数组
分析:(别人写的) 对于所有(l, r)区间,固定右区间,所有(li, r)一共最多只会有log个不同的gcd值, 可以nlogn预处理出所有不同的gcd区间,这样区间是nlogn个,然后对于询问离线 ...
- C# 日期转换为中文大写
/// <summary> /// 日期转换为中文大写 /// </summary> public class UpperConvert { public UpperConve ...
- jquery 列求和
列求和 var m = 0; $('#tb tr').each(function () { //td:eq(3)从0开始计数 $(this).find('td:eq(3)').each(functio ...
- [liu yanling]软件开发的过程按阶段划分有:单元测试 集成测试 系统测试 验收测试
从软件开发的过程按阶段划分有:单元测试 集成测试 系统测试 验收测试测试过程按 4 个步骤进行,概念内容如下:单元测试:单元测试是对软件基本组成单元(如函数.类的方法等)进行的测试.集成测试:集成测试 ...
- 查询显示MSSQL表结构 [转]
SELECT 表名 = Case When A.colorder= Then D.name Else '' End, 表说明 = Case When A.colorder= Then isnull(F ...
- 以后坚持用java
1.不要贪多,现在专心学习java.读一些jvm的书. 2.研究lucene,hadoop.mahout,和日后用的自然语言分析lingpipe. 3.对于数据挖掘方向,专注与weka的学习,同时注意 ...
- HDU 4622 Reincarnation(SAM)
Problem Description Now you are back,and have a task to do:Given you a string s consist of lower-cas ...
- Esper系列(九)NamedWindow语法create、Insert、select
功能:用于存储一种或多种类型的事件的集合,并能对所存储的事件进行增删改查操作. CreateNameWindow 根据已有的数据源构造 格式: 1 [context context_name] 2 ...