C#面向过程集锦

来源:互联网 发布:数据库crow s foot图 编辑:程序博客网 时间:2024/06/06 09:31
     -->.Net是一种平台、一种技术,又读作DotNet,也指,Net Framework框架。
     -->C#(C Sharp)是一种编程语言,可以开发基于.Net平台的应用程序。相对于Java语言,Java既是一种技术,又是一种编程语言。
     -->在.Net平台上,开发有三个方向:
     第一个:桌面应用程序开发——WinForm开发,也叫客户端开发,是一种客户机(Client)与服务器模式(Server)交互模式,比如QQ聊天工具;
     第二个:Internet应用程序开发——ASP.NET,是一种浏览器(Browser)与服务器(Server)交互模式,比如网页浏览;
     第三个:移动端开发——Windows Phone开发,比如Windows Phone8手机上的应用程序。
     -->.Net开发的开发工具是Visual Studio,包含多种语言(C#、VB.Net、F#等)开发,不同于Java单语言跨平台的开发,.Net Framework框架提供类库(FCL)和公共语言运行库(CLR)。,Net实现多语言无关性是因为每一种编程语言对应一个编译器(C#编译器、VB.Net编译器),将对应的语言能力编译成微软中间语言(MSIL),然后在公共语言运行库(CLR)中用即时编译器(JIT)解析MSIL,这样就可以在.Net Framwork环境下的执行不同语言编写的应用程序,前提是要有.Net Framework。
     -->学习.Net开发,不要只学会简单地拖拉拽控件,要从最基础的C#语言开始学习,必须明白底层的原理才行。这点是深有体会,之前学习大学老师讲课,然后学习了传智播客视频教程,就发现了学习了后者之后恍然大悟啊。
     -->了解清楚基本概念:
     解决方案(.sln—solution)可以包含多个项目(.csproj—c# project),项目可以包含多个文件含源文件(.c#),文件即是我们写的应用程序(.exe);
     命名空间(以namespace命名)可以包含多个类(以class命名),类中可以包含多个方法,我们需要再方法中写程序。
     Main方法,是我们程序的入口方法,当我们执行一个程序时,会先找到Main方法,从Main方法进入,直到Main方法的反大括号结束。
     -->知识点1:Console.WriteLine();和Console.WriteLine();,前者换行输入,后者是输入内容但不换行。
     -->知识点2:Console.ReadKey();等待用户从键盘键入一个值,然后程序才继续执行。
     -->知识点3:注释符的书写,要明白注释是给人看的,写注释方便他人快速阅读,利于团队开发,方便自己日后阅读。如何精简高效写注释需要我们在学习过程中慢慢积累。
     ------------------单行注释,以//开始,这一行从//开始到结尾都是注释,程序不会解析。
     ------------------多行注释,以/*开始,以*/结束,在/*与*/之间的内容都是注释部分。
     ------------------文档注释,以///开始,大部分用在类和方法前些注释,输入///系统就会提示输入注释内容。
     -->知识点4:变量,计算机中有两个概念,内存和硬盘,内存指的是计算机正在运行的程序数据,断电之后将消失;而硬盘是将内存上的数据保存到硬盘上,断电之后数据也存在。由于内存在计算机中存在的地址非常复杂不利用我们记忆,因此就有了变量这个概念。变量就代表一块内存空间,这样就简单了许多。
     -->知识点5:变量命名及使用规则。变量必须先声明,再赋值,最后才能使用(取值、调用、赋值);
     ----------------------------------------------命名必须以字母、下划线或@符号开头,字母不仅指英文字母,还可以是汉字、日文等,后面可以跟任意字母、数字、下划线。
     ---------------------------------------------注意变量名不能与关键字(单词颜色显示为蓝色)重复;不能出现重复变量名;变量名区分大小写;变量名尽量要有意义。
     ---------------------------------------------变量名命名:数据类型 变量名;变量名=值;;数据类型 变量名=值。多个以,分隔即可。
     -->知识点5:Camel命名法:首个单词首字母小写,其后单词首字母大写,定义变量按这个方法;
     -----------------Pascal命名法:所有单词首字母大写,命名方法名都是按照Pascal命名法。如何记忆两者,字母C在字母P前面,Camel命名法首个单词首字母小写。
     -->知识点6:占位符。比如Console.WriteLine("今天是{0{1}{2}}","星","期","一");输入今天是星期一。Console.WriteLine();输入的永远是第一个参数的内容,第一个以后的参数都是用来替换第一个占位符中的内容,是否输出取决于第一个参数。
     -->知识点7:Console.ReadLine():用来接收用户输入的内容,当程序运行这句话时,等待用户输入内容,不管用户输入的是什么,程序都是以字符串的形式存放。需要用户定义一个字符串变量来接收。
     -->知识点8:转义字符。转义字符是一个char类型的,由一个\加一个字母来表示特殊的含义。比如'\n'代表换行的意思,'\b'往前退一歌,''\\'代表\,'\t'代表制表符,具有行与行之间的对齐功能,在九九乘法表中就需要用到这个转义字符。
     -->知识点9:算数表达式。算术表达式由算术运算符(+、-、*、/、%(取余))组成的表达式。
     -->知识点10:类型转换。范围小的可以自动隐式转换成范围大的,比如int a = 1; double b = a;,b就是一个double类型的数字1。范围大的要转换成范围小的需要强制转换才行,但会丢一些数据,如double c = 1.0;int d = (int)c;或者int d = Convert.ToInt32(c);,c的值为int类型的1。
     -->知识点11:异常处理。try-catch:try{}catch{},将可能会发生异常的代码放在try{}语句块中,将出错后执行的代码放在catch{}代码块中。如果try中的代码没有异常就不执行catch中的代码块,否则执行catch中的代码块。另外还有一个try-catch-finally相比try-catch就是不管是否出错,finally中的代码一定会执行。
     -->知识点12:逻辑表达式。逻辑表达式由逻辑运算符(&&,||,!)组成的表达式。
     -->知识点13:自加自减。int a = 23; int re = a++-10;与int a = 23; int re = ++a-10;的区别:前者等到a加了1之后再参加运算,re的结果为14;后者先参加运算,再a加1,re的结果为13,但是两者a的值都加了1,都为24。
     -->知识点14:if、if-else、if-else-if结构。注意表达式必须是关系表达式或者逻辑表达式,即表达式结果必须为布尔类型的。不管有多少条执行语句,都要用大括号括起来,写成语句块,只有一条执行语句也要用写成语句块。
     -->知识点15:switch-case。定值匹配的语法。将switch中表达式的值与case去匹配,匹配成功跳出。注意必须写上break;,否则无法结束。
     -->知识点16:while循环。while(循环条件){循环体},注意循环条件不能为死循环,当然如果有break语句可以跳出循环也可以。
     -->知识点17:do-while循环。do{循环体}while(条件);,最后的分号不要遗忘了。相对于while循环,第一次不需要判断条件就执行一次循环,但是没有while循环使用方便。
     -->知识点18:for循环。for(){}最大的特点就是用于已知循环次数的循环。还有foreach()用于遍历数组。
     -->知识点19:continue与break。continue用于结束这一次循环,继续下一次循环;break结束当前的循环,跳出循环。但注意continue只能用在循环中。
     -->知识点20:数组定义及使用。数组定义:数据类型 [] 数组名 = new 数据类型[数组长度]{值1,值2,...值n};访问数组通过下标来访问,从编号0开始访问。
     ----------------------------------------------------------int [] numbers1 = {1,2,3,4};
     ----------------------------------------------------------int [] numbers2 = new int [4] {1,2,3,4};
     ----------------------------------------------------------int [] numbers3 = new int [] {}1,2,3,4};
     ----------------------------------------------------------通过numbers1[0],numbers1[2],numbers[2]来访问第1个、第2个、第3个数字;numbers.Length访问长度。
     -->知识点21:面向过程的枚举、结构是相对于面向对象的一个显著特点。
     ----------------------------------枚举通过enum 定义类型{值1,值2,值3,...值n};,使用通过定义类型声明一个变量,变量赋值通过等于空格提示选择内容。
     ----------------------------------比如:enum Answer{yes,no}; Answer a1= Answer.yes;。
     ----------------------------------枚举主要是为了限制用户不能任意赋值,只能选择已设定的值。方便用户选择值。
     ----------------------------------结构定义与类的定义非常相似。
     ----------------------------------比如:定义一个结构:public struct Man{public string address;public string age}; 使用结构: Man m1;m1.address="地名";
     ----------------------------------使用结构,定义的内容的信息非常清晰。
     -->知识点22:方法。方法就是将一个功能的代码封装好,复用代码,然后别处使用时只需要调用即可。
     ----------------------------方法语法:[访问修饰符]  [static]  返回值类型  ([参数]) {方法体;}。
     ----------------------------注意点:一般情况下方法都是定义在类中,和Main方法同一个级别;如果方法没有返回值,则返回类型写void,当然括号内可以没有参数。
     -->知识点23:out与ref。修饰参数,如果参数前有out或ref修饰,那么就相当于传值给调用方法里的传过来的变量。
     ---------------------------------比如定义一个方法:static void Test(out int number) {number=9;}
     ---------------------------------那么调用该方法必须传参int a=0; Test(out a);,此时a传参给方法Test,执行方法Test,之后a的值变为9。
     ---------------------------------out修饰的,传参过来的变量不一定要赋值,但在方法中必须赋值。

     ---------------------------------ref修饰的,传参过来的变量在之前必须赋值,方法内赋值与否没有关系,赋值了也会受影响

     备注:写于2013年5月8日

0 0
原创粉丝点击