黑马程序员-C#学习笔记

时间:2023-03-08 16:50:06

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

C#学习笔记

1、.NET/.dotNET 一般是指.NET Framework框架,是一种平台,一种技术。

C# 是一种编程语言,可以用来开发基于.NET平台的应用。

Java即是一种平台又是一种编程语言。

对于.NET与.net Framework我们可以这样用这样的例子来进行说明

例如    .NET---------》相当于中国移动提供的移动互联网平台

.NET Framework 平台----------》相当于中国移动在全世界各地建造的信号塔

基于.net 平台开发的软件相当于手机中的各种功能;要想正常运行开发软件的话,就离不开.net平台;如果.net平台要正常运行的话,就离不开.net framework 框架提供的稳定环境。

2、关于.net 的发展史

2002年6月22日 Microsoft公司正式发布.net 平台。李开复

3、.net平台开发的目的(Microsoft新闻发言人所说的)

in any plane on any time and on any device 数据(在任何地点、任何时间都能获取数据)

4、.NET 的用途

1)桌面应用程序  也叫做winform应用程序。

2)Internet应用程序   使用.net 开发的internet应用程序叫 ASP.NET应用程序

3)手机开发  在2011年Microsoft推出了wp7 发展时间不长就淘汰   Unity3D (开发手机游戏)是一种应用在手机中不错的技术。

5、关于.net 的两种交互模式

C/S  即 Client/Server  客户机/服务器模式  要求:要求用户的电脑上必须要安装一个客户端  如:qq  360

B/S  即 Browser/Server  浏览器/服务器模式 要求:  要求用户只需要安装一个浏览器即可。

6、IDE  集成开发环境   一般指的是:我们开发软件使用的开发工具

面试题:主考官问你,你所使用过的IDE是什么?

答案:  visual Stdio 2008/2010/2012 简称vs2008/2010/2012.

7、启动vs2010的方法。

windows+r打开运行命令框写入 devenv命令

如果卡死 找到进程 结束devenv这个进程

8、关于文件的扩展名介绍:

在保存文件的时候尽量保存到自己指定的文件目录下 如果找不到保存的路径时可以通过(右击“解决方案 ”在弹出的快捷菜单中选择“在windows资源管理器中打开文件夹”)打开项目的文件夹。

在打开的项目中有一个*.sln代表是解决方案文件的,在这个文件中包含了解决方案中的信息,这个是可以直接双击运行的。

.csproj: 是 C Shape Project的缩写 里面包含了项目的信息,不可以直接双击运行。

C#源文件(类)一般以cs结尾即类的扩展名是*.cs

C#程序的入口是Main函数,在Main中写代码就行.

9、在写代码的时候要注意:

1)、在c#当中,是严格区分大小写的  Console.WriteLine();

2)、 在vs当中,所有的标点符号,都应该是英文半角状态下的标点符号,绝对不能出现全角或者中文。

10、设置启动项  右键点击解决方案  选中属性----》当前选定内容

11、c#当中的注释符

注销和解释你写的代码

12、三种注释方式

1、单行注释  注销或者解释单行代码  //

2、多行注释  注销你写的多行代码   /*要注释的内容*/

3、文档注释  解释你的类或者方法写的神马意思    ///

13、折叠代码  #region “要折叠的内容”  #endregion

14、部分操作快键

shift+home/end

ctrl+k+d 快速排版

ctrl+k+c 快速注释轩中行

ctrl+k+u 取消选中行的注释

ctrl+z 撤销上一次的操作

F5是运行程序  F6是给程序挑错。

Shift+F5停止调试程序

15、.NET FrameWork框架的组成

1)、FCL  类库

2)、CLR 公共语言运行时   Common language runtime

当咱们点击F5运行程序的时候,CLR首先加载所有的类到内存中,然后找到其中的主函数(Main函数),从上到下一行一行的执行,

如果你的代码当中没有主函数,则程序不会运行,会报错,如果你的代码中有两个或两个以上主函数,程序也会报错。

主函数只能由一个。

MSIL:微软中间语言Microsoft Intermediate Language

CLR:公共语言运行时Common Language Runtime

CLS: 公共语言规范Common Language Specification

CTS:通用类型系统Common Type System

JIT:即时编译器 Just In Time

16、命名规则:

1 必须以“字母”_或@符号开头.--不要以数字开头

2 后面可以跟任意“字母”、数字、下划线.

注意:

1)你起的变量名不要与c#系统中的关键字重复.

2)在c#中,大小写是敏感的.

3)同一个变量名不允许重复定义(先这么认为,不严谨)

定义变量时,变量名要有意义

C# 变量命名编码规范——Camel 命名法:

首个单词的首字母小写,其余单词的首字母大写。

Pascal命名命名规范:每一个单词第一字母都大写

如果使用到英文单词的缩写,全部用大写

17、变量交换时不允许使用第三方变量的方法

int n1=10;

int n2=20;

n1=n1-n2;

n2=n1+n2;

n1=n2-n1;

18、+号:当加号两边如果有一遍是字符串的时候,那么这个

加号就不再是相加的作用,而是起到连接的作用

19、转义符:就是\ 加上一个特殊的字符 ,组成了一个具有特殊意义的字符

\”:表示为一个英文半角状态下的双引号

\n: 表示换行

\t:叫做水平制表符,表示对齐 还起到了空格的作用

\b:表示退格,如果\b在字符串的两遍,那么\b起不到任何作用

\\:表示为一个\

@符号:

1、取消转义

2、可以是代码这行输出

20、++ :又分为前加加和后加加,不管是前加加。还是后加加,结果就是这个变量的值都加了1.

--:分为前--和后--,不管是前--还是后--,结果就是这个变量的值都减了1.

前++和后++的区别:

前++:先自身加1,然后拿着自己这个加一后的值去参与运算。

后++:先参与运算,运算完成后,自身加一

前--和后--的区别:

前--:先自身减一,然后拿着这个减一后的值去参与运算

后--:先自身参与运算,运算完成后,再减一。

21、复合赋值运算符:

+=   number+=5;  number=number+5;

-=   number-=5;  number=number-5;

*=   number*=5;  number=number*5;

/=   number/=5;  number=number/5;

%=   number%=5;  number=number%5;

22、一元运算符的优先级高于二元运算符

在一个表达式中,如果一元运算符,又有二元运算符,先算一元运算符。

23、Try-catch 捕获异常

执行过程:

如果try中的代码,出现了异常,则不会继续向下执行,直接跳到catch中执行catch中的代码,执行完成后,跳出try-catch。如果try中的代码,没有出现异常,则执行try中的代码,执行完成后,跳过catch,继续向下执行。

注意:

Try和catch中间不允许写任何的代码。

如果try中的某一行代码出现了异常,那么正行代码后面的代码都会不会被执行。

24、变量的作用域:变量只能在声明它的那个大括号内使用吗,在声明它的那个大括号外面就无法访问了。

25、Switch(值/变量)

{

Case 值1:代码;break;

Case 值2:代码;break;

Case 值3:代码;break;

Default:代码;break;

}

26、

While(循环条件)

{

循环体;

}

Do

{

循环体

}while(循环条件);

do-while循环的特点:先执行,再判断。最少执行一次。

27、

for:

语法:for(表达式1;表达式2;表达式3)

{

循环体;

}

表达式1:一般为声明循环变量

表达式2:一般为循环条件;

表达式3:一般是能使循环条件总有一天不成立的那个条

执行过程:第一次执行的时候,首先执行表达式1,再执

行表达式2.然后执行循环体。执行一次循环体后,再执行

表达式3.然后再去判断表达式2.如果成立的话,继续执行

循环体,然后再执行表达式3,再去判断表达式2。

28、break、continue、return之间的区别

break:跳出switch-case结构,跳出当前的循环

continue::程序执行到continue处,不会继续向下执行,而是回到循环的循环条件进行判断,如果循环条件为true。则继续执行,否则跳出当前循环。

return:跳出当前的方法。

29、三元表达式:表达式1?表达式2:表达式3

表达式1 一般为关系表达式,如果表达式1的结果为true,那么表达式2的结果就是整个三元表达式的结果,如果表达式1的结果为false,那么表达式3的结果就是整个三元表达式的结果。

注意:表达式2的类型和表达式3的类型 必须一致,并且也要和整个三元表达式的结果的类型一致。

30枚举:语法

[public] enum 枚举名

{

枚举值1,

枚举值2,

枚举值3

}

枚举类型可强转为int类型,枚举类型默认是从0开始

31、结构

可以一次性声明多个不同类型的变量

语法:

[public] struct 结构名

{

public 结构成员;

}

字段和变量的最大区别:变量在程序运行的时候,只能存一个值,而字段可以存N个值。

32、数组:

一次性声明多个相同类型的变量

声明的语法:

Int[] nums=new int[3];

类型[] 数组名=new 类型[数组长度];

int类型的数组,如果在声明的时候,没有赋值,那么这个数组中默认的元素都是0。

string类型的数组,如果在声明的时候,没有赋值,那么这个数组中默认的元素都是null。

char类型的数组,如果在声明的时候,没有赋值,那么这个数组中默认的元素都是’\0’,空格。

bool类型的数组,如果在声明的时候,没有赋值,那么这个数组中默认的元素都是false。

数组的声明方式:

int[] numberOne=new int[10];

int[] numberTwo={1,2,3,4,5,6};

int[] numberThree=new int[3]{1,2,3};

int[] numberFour=new int[]{1,2,3,4,5};

33、升序与反转

Array.Sort()升序

Array.Reverse()反转

---------------------- <a href="http://edu.****.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.****.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.****.net" target="blank">http://edu.****.net</a>

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------