快捷搜索:
来自 计算机编程 2019-11-10 08:03 的文章
当前位置: 67677新澳门手机版 > 计算机编程 > 正文

在那个桃花盛开的季节,深入理解C

深入.NET平台和C#编程

简单认识.NET框架

          之化骨绵掌

首先我们得知道 .NET框架具有两个主要组件:公共语言进行时CLR(Common Language Runtime)和框架类库FCL(Framework Class Library)

假 如 你 的 人 生 有 理 想,那 么 就 一 定 要 去 追,不 管 你 现 在 的 理 想 在 别 人 看 来是 多 么 的 可 笑 , 你 也 不 用 在 乎 , 人 生 蹉 跎 几 十 年 , 如 果 年 轻 的 时 候 计 较 得 失 前 怕 狼 就 后 怕 虎 而 不 去 追 逐, 等 到 了 40, 50 岁 的 时 候 , 你 唯 一 能 做 的 就 是 感 叹 岁 月 的 消 逝 和 无 情…

配图:

 

67677新澳门手机版 1

船舶停靠在港湾是很安全的,但这不是造船的目的

.NET的编译过程:

          --北大青鸟五道口校区原玉明老师编写

配图:

                             By:北大青鸟五道口原玉明老师

67677新澳门手机版 2

1.学习方法: 3

其中,CLR还包括通用类型系统CTS(Common Type System)和公共语言规范CLS(Common Language Specification)

第一章 深入.NET框架 5

.NET框架核心类库及其功能

1.NET简单解说 5

配图:

2.Microsoft .NET框架概述。 7

67677新澳门手机版 3

  1. NET框架体系结构 9

C#语言要编程可以被CPU解析执行的代码需要两次编译:

4.封装体现   李明瑞 14

第一次编译:将C#语言通过C#编译器编译成MSIL中间代码

5..那些年我们学过的访问修饰符?? 14

第二次编译:将MSIL代码通过即时编译器编译成CPU可以解析执行的代码,或者成为

6.变量,类和方法的命名法 15

Java程序想要被CPU解析执行也需要两次编译:

7.new:代表含义: 15

第一次编译:将后缀名为java的文件通过Java编译器编译成后缀名为.class文件

8.字段和属性区别? 15

第二次编译:将.class文件通过Java虚拟机编译成CPU可以解析的代码

9.自动属性 15

面向对象

10.vs2012下写的项目如何在vs2010中打开 16

面向对象三大特性:封装,继承和多态

11.作业环节 16

那些年我们学过的访问修饰符:

第二章 深入C#数据类型 16

public :任何位置,包括跨程序集

CLR via C# 16

internal:在当前程序集中都可以访问

  1. 封装 16

  2. 关于数组的那些事儿 17

  3. 值类型(在栈上存储真实的值)和引用类型(堆和栈上都要分配空间) 17

  4. 结构体 22

private:只能在当前类中访问(当前类的花括号中访问)

5.构造函数 23

protected:只能在当前类和子类中使用

6.装箱和拆箱 24

变量,类和方法的命名

  1. 值传递和引用传递 25

骆驼命名法:第一个单词的首字母小写,后续有含义的单词首字母大写。 变量

8.经典练习  经理评分 26

帕斯卡命名法:每一个单词的首字母大写 类和方法

第三章 使用集合组织相关数据(终极内存数据容器) 28

new:代表的含义

一、集合概念引入 30

1.创建对象

二、 第一个集合ArrayList的使用 31

2.开辟空间

★1.引子: 31

3.自动调用构造函数

★2.集合扩容原理截图 32

字段和属性的区别

三、集合中元素操作(添加,遍历,删除、常见错误) 34

1.属性不能保存数据,真正保存数据的是字段。

1.常见属性: 34

2.属性是可有可无的,字段是必须的。

2.常用方法: 34

3.如果字段只是让类内部访问,那么设置成private,如果想找一个中间者,在Main方法中访问到类中的私有字段,那么属性可以是一种选择。

  1. 常见错误:见PPT 34

自动属性

4.现场编程 35

定义:当为我们不需要进行逻辑判断时可以使用自动属性。 定义自动属性在后台会自动帮我们生成一个对应数据类型的私有字段 

四、集合初始化器,对象初始化器 36

CLR的主要用途:

五、HashTable 36

CLR是所有.NET程序运行的环境,是所有.NET应用程序的编程基础,所有.NET受CLR监管和处理,这些操作包括进程内的应用程序加载,将IL转换为GG,

★1.HashTable注意事项 37

异常处理,垃圾回收,加载程序集

★2.对HashTable遍历三种方案: 37

深入C#数据类型

六、泛型集合List<T>(理解difficult,写起来easy) 40

值类型和引用类型

七、泛型集合Dictionary<K,V> 40

值类型:是在栈上存储真实的值 引用类型:在栈和堆上都开辟空间

八、 自定义泛型 40

值类型:int double float boolean char byte long short 枚举 结构体

九、.NET集合框架(集合扩展) 41

引用类型:int[] class 接口(interface) string

Queue(队列): 42

结构

Stack(栈): 42

定义:

第四章 深入类的方法 44

67677新澳门手机版 4

1.构造函数 44

访问修饰符  struct  结构名{            // 结构体 }例:public struct Student{      //结构体}

2.方法重载(考试必考:2到3分) 45

67677新澳门手机版 5

  1. 对象间的交互 45

注意点:

第六章 继承 51

1.在结构中可以有字段和方法

一、课程回顾 51

2.定义结构时,结构中的字段不能被赋初值

二、预习问题 52

3.可以不用new,直接定义结构的对象即可

三、本章目标 52

4.声明结构的对象后,必须给结构的成员赋初值

四、课程内容 53

5.结构体也是一种特殊的值类型

3.继承: 53

装箱和拆箱

第七章 深入理解多态 60

将值类型转换为引用类型的过程称为装箱,反之称为拆箱

第一种:虚方法实现多态 63

示例:

第二种:抽象方法实现多态 65

67677新澳门手机版 6

第八章 网络电视精灵   // 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。  System.Environment.CurrentDirectory 69

static void Main(String[] args){    int i=123;    oject o=i;  //装箱    i=456;   //改变i的内容   Console.WriteLine("值类型的值:{0}",i);    Console.WriteLine("引用类型的值:{0}",o); }

01.什么是设计模式 72

67677新澳门手机版 7

02.简单工厂图解 73

不同类型的参数传递
值方式参数传递:传递数据类型是值类型,没有ref在方法中不会保留

03.单例模式 75

传递数据类型是引用类型,没有ref在方法中会永久保留

04.为什么学习XML? 77

引用方式传递:不管有没有ref都会永久保留

 05.什么是XML? 77

67677新澳门手机版 8

06.xml书写注意点 78

例: class Voter{   public void Vote   {      //人气值 1      se.Popularity  ;    }}/测试相关代码SE  zhang=new SE();zhang.Age=25;zhang.Name="张梅";zhang.Gender=Gender.female;zhang.Popularity=10;//投票前MessageBox.Show(zhang.SayHi;Voter voter=new Voter();voter.Vote;  //引用类型做参数//投票后MessageBox.Show(zhang.SayHi;   

07.解析xml文件 78

67677新澳门手机版 9

08.问题记录 78

结构和类的区别
1.结构是值类型而类是引用类型

09.TreeView控件 78

2.结构和另外一个结构不能继承和被继承

10.网络电视精灵 79

3.结构没有默认构造而类有

第九章 文件操作 89

4.结构体没有析构函数而类有

01.文件操作相关 92

5.结构体可以不使用new初始化,而类不可以

02.File和Directory 93

使用集合组织相关数据

03.FileInfo和 DirectoryInfo 93

定义:

04.序列化与反序列化 94

集合:

第十章 影院售票系统 96

某些特定的对象集中在一起就是集合

  1. 从Movie开始 97

  2. Seat 座位类 100

数组:

3放映场次 100

可以存储相同数据类型的一堆数据的容器

 

集合

 

集合分为泛型集合和非泛型集合

 

67677新澳门手机版 ,泛型集合分为单列和双列集合 (List<T>和Dictionary<K,V>)

 

非泛型集合分为单列和双列集合(ArrayList和HashTable)

 

常用的方法和属性

 

67677新澳门手机版 10

 

 Add();   //添加 Remove();  //删除 RemobeAt(); //根据索引删除  不适用 双列集合  count  //集合存储元素的个数 Contains();  //检测元素是否存在 ContainsKey();  // ContainsValue(); Capcity //集合占用空间

寒假作业 (寒假开心快乐!):

67677新澳门手机版 11

01.预习S2 第二本数前4章,提交电子版预习笔记,附带案例做完,并且书写第五章体检套餐管理项目

注意事项:如果删除了集合中的某一个元素,那么集合的索引会自动维护

 

遍历方案:

02.将KTV系统代码形成BLog文章,并且附有解释,注释!

67677新澳门手机版 12

 

ArrayList list=new ArrayLIst();Student stu1=new Student(); stu1.Name="jiejie"; stu1.Age=15; list.Add;Student stu2=new Student(); stu2.Name="jiji"; stu2.Age=18; list.Add;  //foreachforeach(Student item in list){    Console.WriteLine(item.Age "t" item.Name);} //forfor(int i=0;i<list.Count;i  ){   Console.WriteLinelist[i].Name);}

 

67677新澳门手机版 1367677新澳门手机版 14

03.在所有讲过的S1课程中,书写一篇有技术含量的blog,可以是对象数组,可以是KTV项目的功能点对知识点的运用把控。

HashTable 遍历三种方案   HashTable table=new HashTable();第一种方式:遍历所有的Keysforeach(var item in table.Keys){    //一个item代表一个key   Console.WriteLine("key是{0}tvalue是{1}",item,table[item]);}第二种遍历方式:遍历所有的value集合foreach(var item in table.Values){       //一个item代表一个value   Console.WriteLine("value是{0}",item);}//遍历整个tableforeach(DictionaryEntry item in table){    Console.WriteLine("key是{0}tvalue是{1}",item.Key,item.Value);}

 

67677新澳门手机版 15

04.整理S1四本书所有的课堂案例,上机练习,以及课后题目源代码(需要提交),并且形成电子文档。

深入类的方法

 

构造函数

05.新年最大收获心情文章!

方法名和类名相同,没有返回值

 

注意:在C#中,当我们定义了一个类后,系统底层默认会生成一个和类名相同的无参构造,但是如果我们定义了一个带参构造,系统将不生成无参构造,但是在

过年的一点点心意,大家别嫌少啊!希望大家过一个不一样的春节

真正的开发中建议大家定义两个构造函数,一个无参构造和带参构造

 

67677新澳门手机版 16

1.学习方法:

 01.找一本好书

初始阶段不适合,可以放到第二个阶段,看到知识点时,要进行验证

 

 02.查看帮助文档和搜索引擎的使用

借助网络上的Blog文章

 

 03.不要急功近利

     不要抱着速成的想法,否则必然走弯路
     学习编程不是一蹴而就的事情
     付出的成本高,才能有一个高薪的收入

 

 04.不要浮躁

     不要什么都学,只学有用的

     浮躁的程度和技术水平成反比的
     走自己的路,让别人去浮躁去吧!

     每天问问自己,我是不是开始浮躁了,不能人云亦云.

 

05.学习语言基础很重要

   基础不扎实,开发出的程序就很危险
   将所学的用到开发中去

 

06.什么时候去看别人的代码?

    揣摩编写代码人的思路,远比自己写软件要难得多
    初学者不要去看别人的代码

    在纸上把调用关系画出来,抓主线.

 

07.如何提高?

    有主动性。学习的欲望要强。上网找别人的问题,为自己来提高

 

08.培养发现问题、思考问题和解决问题的能力

    出错信息,异常信息
    养成发现问题、思考问题和解决问题的能力

    这种能力受益一辈子,且不随时间变化

 

09编程的思想

 

  多用心,多动手
  程序运行的原理和机制
  编程的目的,函数的调用,内存模型

 

10.先学脉络,再学枝叶

 

你肉眼可见的网站 ,你都可以仿制出来,达到以假乱真的页面效果

13个段落  作家

 

 

第一章 深入.NET框架

--有的时候,我们在开发中,除了需要返回消息本身,还需要发送消息的状态,这个

--时候需要引入out参数。

 

public class SE{ public SE(){}public SE(string id,string name,int age,Gender gender,int popularity){   Id=id;   Name=name;   Age=age;   Gender=gender;   Popularity=popularity;}}

第一章 深入.NET框架

2016年3月23日13:39:34

 

1.类和对象的关系?

解析:对象是类的实例,类是对象的抽象。

67677新澳门手机版 17

1.NET简单解说

l 关于类库的解说

      精华:所谓类库,就是微软或者sun公司,定义好了一堆类,方便用户对数据库数据的操作,或者对磁盘文件的操作

新建类库时,命名空间的名称就是类库的名称

 

体现形式:XXX.dll(dynamic link library)或者XXX.exe

包含了一堆类:每个类中包含了一堆方法

 

l 面向对象提升

OOP(Object Oriented  Programming)面向对象编程  (5k)  8k   12k

AOP:(Aspache  Oriented Programming):面向切面编程

OOD(Object Oriented  Designer)面向对象设计(架构师)   3万/month

OOA(Object Oriented  Analysis)面向对象分析  (分析师) 10万/month

DBA(Database Administrator,简称DBA)  无价的,你要多少,老板必须给多少!

 

l 泛型集合对对象数组的一个升级(真正的开发中,用的都是泛型集合)

 

l xml解析

   如何将硬盘上的xml文件形成内存中的泛型集合数据

 

l IO操作

  序列化与反序列化(应用很广泛)

 

l 大家对.NET的认识

 解析:老一辈人也称为DOTNET

 .NET战略:微软的一个梦想:任何一个人,在任何一个地方,使用任何一款终端设备,都可以访问微软提供的服务,eg 云

广州:google,

 Office,Google()

 佛的角度来说:万物取一个平衡。

 Java  .NET

 联通  移动

 A  B

  .NET是微软的一个庞大的计划(战略)

  Office.NET

 网警浏览器

 IE

 

卡莉·菲奥丽娜 (她是个女的)

hp的前ceo

hp和康柏这两个合并,

 

windows azure

 

.NET 平台

C#,VB.NET,C

 

需要自己写一个程序开启摄像头

Java效率低

C#

 

C#底层调用的是java的jar包

C语言

C开发的。

 

System.out.printnln();

Console.WriteLine();

 

MVP

 

关于重装的那些事儿

gril friend

boy friend

桌面

我的文档

网上邻居

打印机共享

组件的注册

 

 

验证码:注册和登陆用验证码作用?

解析:机器 模拟 10亿次请求,

 听说这个名字没人用1

 听说这个名字没人用2

 

 

金蝶 KIS

速达3000

用友:

管家婆

ERP(企业资源规划)

OA系统

进销存

 

 

领料单

组装单

Vs版本                        .NET Framework版本

Vs2003                         1.0/1.1   

Vs2005                         2.0

Vs2008                         3.0/3.5

Vs2010                         4.0

Vs2012                         4.5

Vs2013                         4.5

Vs2015                         待测、

 

方法的重载

2.Microsoft .NET框架概述。

 01,Microsoft .NET介绍

 微软的.NET历史

  2000年微软公司向全球宣布其革命性的软件和服务平台:Microsoft .NET

 

02,为什么需要.NET框架

 通过如下两个问题说明为什么需要.NET框架

001,C#程序可以在不同平台(PDA、PC)的环境中运行吗?

002,  使用C#程序可以调用VB.NET开发的程序吗?

答案肯定是可以的,这也足以说明.NET框架的强大之处。

03,.NET框架概述

.NET框架

.NET战略的基础框架

.NET程序的运行环境

强大的类库

.NET 框架==.NET Framework

 解析:在A机器上开发了一款软件,只要B机器上有框架就行了,不用再B机器上安装开发环境VS。

.net core 1.0

 

04,.NET框架的魅力

   001,面向对象编程

      提高软件可复用、可扩展、易维护性、灵活性

   002,强大的动态web支持

   003,web服务

   例如:天气预报服务iGoogle和支付宝网上购物商城

  003,数字身份验证的支持

  004,支持构建.NET程序的炫彩外衣(特效制作)

在同一个类中,如果有多个方法方法名相同,但是参数的个数,顺序,类型不同的多个方法可以构成重载和方法的返回值类型没有关系。

本文由67677新澳门手机版发布于计算机编程,转载请注明出处:在那个桃花盛开的季节,深入理解C

关键词: