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

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

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

黑马程序员-C#学习笔记的更多相关文章

  1. 黑马程序员-C#学习笔记(二)

    ---------------------- ASP.Net+Android+IOS开发..Net培训.期待与您交流! ---------------------- - C# 学习笔记 一.变量与表达 ...

  2. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  3. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  4. 纯干货!耗时1个月整理黑马程序员Java教程+笔记+配套工具

    学习Java是不是很苦?找不到资料?不了解学习步骤?想要全面的线路图! 或者是找资料,前面免费,后面收费?工具软件要收费? 当当当~~今天就没有这个状态发生了!不信就证明给你看 1.学习路线图 2.J ...

  5. 黑马程序员_java基础笔记(07)...IO流

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— IO(InputStream,outputStream)字节流 (Reader,Wr ...

  6. 黑马程序员_java基础笔记(06)...集合

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— JavaApi(其实就是java给我们提供的已经定义好的对象.工具对象:集合框架) ...

  7. 黑马程序员_java基础笔记(15)...银行业务调度系统_编码思路及代码

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— 1,面试题目:银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内 ...

  8. 黑马程序员_java基础笔记(14)...交通灯管理系统_编码思路及代码

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 1,面试题——交通灯管理系统 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: ...

  9. 黑马程序员_java基础笔记(13)...类加载器和代理

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 1,类加载器.2,代理. 1,类加载器. Java虚拟机中可以安装多个类加载器,系 ...

随机推荐

  1. jquery trigger伪造a标签的click事件取代window.open方法

    $(function() { $('#btnyes').click(function () { $('#ssss').attr("href", "http://www.b ...

  2. TLV格式是什么格式

    TLV 格式是什么格式 一种可变格式, TLV 的意思就是: Type 类型, Lenght 长度, Value 值: Type 和 Length 的长度固定,一般那是 2 . 4 个字节: Valu ...

  3. Python中Cookie的处理(二)cookielib库

    Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持. 该模块主要功能是提供可存储cookie的对象.使用此模块捕获cookie并 ...

  4. IE下同样的$.ajax()被调用两次,只能执行一次(第一次)

    今天发现了这个问题,仅限于IE下所有浏览器包括Edge 百度了一下原来问题就在这句话:如果第二次请求与第一次请求完全相同,会直接从缓存获取. 那么就在请求时让URL变得不一样吧 $.ajax({ ty ...

  5. Array和ArrayList的异同点【转】

    相信数组是大家在编程最常使用的,不论任何语言都存在数组这样的数据结构,由于C#语言是完全面向对象的,所以在C#中的数组也是对象,实际上就是Array类的实例,Array类的使用可以说是使用最频繁的,只 ...

  6. Redis 四:存储类型之列表类型

    .lpush num 依次从左边推入0 - .rpush num 依次从右边推入0 - .lrnage num - 显示num列表中所有的数据 结果: .lpop num 从左边删除并弹出一个元素 . ...

  7. 将日志搬家到自己的站点 http://nowhereman.cn/

    个人站点同步地址 : http://nowhereman.cn/

  8. js 截取某个字符前面或者后面的字符串

    /* string 字符串; str 指定字符; split(),用于把一个字符串分割成字符串数组; split(str)[0],读取数组中索引为0的值(第一个值),所有数组索引默认从0开始; */ ...

  9. 关于sql语句in的使用注意规则

    想必大家都用过sql中的in语句吧,我这里描述下我遇到的一种in语句问题,并总结一些给大家分享下,不对的地方还希望大虾指点下. 问题描述:IN子查询时,子查询中字段在表中不存在时语句却不报错 平常工作 ...

  10. Serverless 架构:用服务代替服务器

    Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...