C#面向过程语言

     -->.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.NetF#等)开发,不同于Java单语言跨平台的开发,.Net Framework框架提供类库(FCL)和公共语言运行库(CLR)。,Net实现多语言无关性是因为每一种编程语言对应一个编译器(C#编译器、VB.Net编译器),将对应的语言能力编译成微软中间语言(MSIL),然后在公共语言运行库(CLR)中用即时编译器(JIT)解析MSIL,这样就可以在.Net Framwork环境下的执行不同语言编写的应用程序,前提是要有.Net Framework
     -->学习.Net开发,不要只学会简单地拖拉拽控件,要从最基础的C#语言开始学习,必须明白底层的原理才行。这点是深有体会,之前学习大学老师讲课,然后工作中的摸索和探究,就发现了学习了后者之后恍然大悟啊。
     -->了解清楚基本概念:
     解决方案(.slnsolution)可以包含多个项目(.csprojc# project),项目可以包含多个文件含源文件(.c#),文件即是我们写的应用程序(.exe);
     命名空间(以namespace命名)可以包含多个类(以class命名),类中可以包含多个方法,我们需要再方法中写程序。
     Main方法,是我们程序的入口方法,当我们执行一个程序时,会先找到Main方法,从Main方法进入,直到Main方法的反大括号结束。
     -->知识点1Console.WriteLine();Console.WriteLine();,前者换行输入,后者是输入内容但不换行。
     -->知识点2Console.ReadKey();等待用户从键盘键入一个值,然后程序才继续执行。
     -->知识点3:注释符的书写,要明白注释是给人看的,写注释方便他人快速阅读,利于团队开发,方便自己日后阅读。如何精简高效写注释需要我们在学习过程中慢慢积累。
     ------------------单行注释,以//开始,这一行从//开始到结尾都是注释,程序不会解析。
     ------------------多行注释,以/*开始,以*/结束,在/**/之间的内容都是注释部分。
     ------------------文档注释,以///开始,大部分用在类和方法前些注释,输入///系统就会提示输入注释内容。
     -->知识点4:变量,计算机中有两个概念,内存和硬盘,内存指的是计算机正在运行的程序数据,断电之后将消失;而硬盘是将内存上的数据保存到硬盘上,断电之后数据也存在。由于内存在计算机中存在的地址非常复杂不利用我们记忆,因此就有了变量这个概念。变量就代表一块内存空间,这样就简单了许多。
     -->知识点5:变量命名及使用规则。变量必须先声明,再赋值,最后才能使用(取值、调用、赋值);
     ---------------------------------------------命名必须以字母、下划线或@符号开头,字母不仅指英文字母,还可以是汉字、日文等,后面可以跟任意字母、数字、下划线。
     ---------------------------------------------注意变量名不能与关键字(单词颜色显示为蓝色)重复;不能出现重复变量名;变量名区分大小写;变量名尽量要有意义。
     ---------------------------------------------变量名命名:数据类型变量名;变量名=;;数据类型变量名=值。多个以,分隔即可。
     -->知识点5Camel命名法:首个单词首字母小写,其后单词首字母大写,定义变量按这个方法;
     -----------------Pascal命名法:所有单词首字母大写,命名方法名都是按照Pascal命名法。如何记忆两者,字母C在字母P前面,Camel命名法首个单词首字母小写。
     -->知识点6:占位符。比如Console.WriteLine("今天是{0{1}{2}}","","","");输入今天是星期一。Console.WriteLine();输入的永远是第一个参数的内容,第一个以后的参数都是用来替换第一个占位符中的内容,是否输出取决于第一个参数。
     -->知识点7Console.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-catchtry{}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;后者先参加运算,再a1re的结果为13,但是两者a的值都加了1,都为24
     -->知识点14ifif-elseif-else-if结构。注意表达式必须是关系表达式或者逻辑表达式,即表达式结果必须为布尔类型的。不管有多少条执行语句,都要用大括号括起来,写成语句块,只有一条执行语句也要用写成语句块。
     -->知识点15switch-case。定值匹配的语法。将switch中表达式的值与case去匹配,匹配成功跳出。注意必须写上break;,否则无法结束。
     -->知识点16while循环。while(循环条件){循环体},注意循环条件不能为死循环,当然如果有break语句可以跳出循环也可以。
     -->知识点17do-while循环。do{循环体}while(条件);,最后的分号不要遗忘了。相对于while循环,第一次不需要判断条件就执行一次循环,但是没有while循环使用方便。
     -->知识点18for循环。for(){}最大的特点就是用于已知循环次数的循环。还有foreach()用于遍历数组。
     -->知识点19continuebreakcontinue用于结束这一次循环,继续下一次循环;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,当然括号内可以没有参数。
     -->知识点23outref。修饰参数,如果参数前有outref修饰,那么就相当于传值给调用方法里的传过来的变量。
     ---------------------------------比如定义一个方法:static void Testout int number) {number=9;}
     ---------------------------------那么调用该方法必须传参int a=0; Testout a);,此时a传参给方法Test,执行方法Test,之后a的值变为9
     ---------------------------------out修饰的,传参过来的变量不一定要赋值,但在方法中必须赋值。
     ---------------------------------ref修饰的,传参过来的变量在之前必须赋值,方法内赋值与否没有关系,赋值了也会受影响。
     当然:只看明白是学不会的,要真正明白其中的含义以及与编程语言来实现它的功能,才是真正自己的东西,希望对奋斗在路上的DotNet程序员有小小的帮助!
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值