☆:为重点
★:为科普
△:注
▲:术语

前言概述  

☆一门语言必须包括诸如异常处理,无用单元收集,可扩展数据类型以及代码安全性等特征
☆C#特性:简单性,面向对象,模块性,灵活性,简明性

☆C#面向对象的
封装:将功能放在单个组件中;
继承:是一种将已有的代码和功能扩展到新的程序和组件中的结构化方式
多态:适应所需完成工作的能力

☆C#是模块化的
▲术语:程序块—被称为类的方式编写,类包含被称为成员方法的例程,这些类和方法可以在其他应用程序被重用。

通过给类的方式传递信息,可以创建出很有用的,可以重用的代码。

☆C#创建程序时的步骤:
1.确定目标
2.确定编写程序的采用的方法
3.创建程序,已解决问题
4.运行程序,以查看结果
小解:3和4两步成为程序开发周期

☆创建源代码
▲术语:计算机执行要完成的任务的语句和命令

☆使用编译器
▲术语:编辑器是一个可用于输入和保存源代码的程序

★扩充 编辑器种类:
一@CodeWrite:一个为ASP,XML,HTML,C#,Ped,python等提供特殊支持的编辑器
二@EditPlus:一种Internet—就绪(ready)的文本编辑器,HTML编辑器和Windows环境下的程序员编辑器。可以代替NetePad,同时为Web页开发人员和程序员提供许多强大的特性,包括使用不同的颜色显示代码
三@JEdit:用于java的开发源代码(Open—Source)编辑器,也可用于C#,能够以不同颜色显示代码
四@Douncan Chen 开发Poorman IDE:提供了一个突显C#和VB,NET语法的编辑器,同时让你能够运行编辑器和捕获控制台输出,因此你无需离开Pooman IDE

☆执行C#程序
▲术语:C#程序将在通用语言运行阶段环境(clr)中运行着一位这你如果创建一个可执行的C#语言程序,并试图在一个没有安装CLR或兼容运行阶段环境的机器上运行它,则将无法执行。可执行意味着程序可以被计算机执行或运行。
△注:创建运行阶段环境程序的好处在于可移植性
▲术语:如果希望程序的执行速度尽可能快,则需要创建一个真正的可执行程序。计算机使用的是数字(二进制)指令,这杯成为机器语言。程序必须从源代码被翻译机器语言,这项工作是由一种叫做编译器的程序完成的。编译器利用源代码生成一个磁盘文件,该文件中包含与源代码语句对应的机器语言指令。
△注:对于C#,编译器并不生产机器语言文件,而是生成一个中间语言(il)文件,由于这种文件不能被计算机直接执行,因此需要进一步翻译或编译,以便计算机能直接执行它,这项工作是有CLR或其他兼容的C#运行阶段环境完成的
△注:CLR首先对IL文件做最终的编译,即将可移植的IL代码转换为计算机能够理解并运行的语言(机器语言)。CLR实际上只编译程序中将被使用的部分这样可以节省时间。另外,当IL文件中的某部分转换为汇编语言后,便无需再次进行编译,因为编译后的代码被保存,以后该部分被执行时,将直接使用编译后的代码。

☆编译C#源代码
▲术语:编译后,将得到一个IL文件。如果你查看对应目录中的文件清单,将发现一个扩展名。exe的新文件,其文件名和源代码文件相同。该文件是编译后的程序,称为组合体能在CLR上运行。组合体文件包含CLR为执行程序所需的所以信息。
△注:通常有两种可交付使用的C#程序:可执行程序和库。

 第一天

…………未完待续

看书记笔记 书名21天学C#的更多相关文章

  1. Effective STL 学习笔记 Item 21:Comparison Function 相关

    Effective STL 学习笔记 Item 21:Comparison Function 相关 */--> div.org-src-container { font-size: 85%; f ...

  2. 《大象UML》看书笔记2:

    <大象UML>看书笔记2 抽象角度:                                                        在为现实世界建模的时候,首先要搞清楚有多 ...

  3. JavaScript看书笔记01

    JavaScript看书笔记... ------------------- JavaScript允许var定义语句出现在函数内部的任意位置.JS中使用Var来显示的给变量声明 JavaScript是一 ...

  4. 21天学通C++_Day1

    被阿里实习生的第一轮电话面试刷掉以后,幡然醒悟,发现以前学习的C++基础一点都不扎实.为了把基础打扎实,重新学习一遍:为了让自己不放弃,也顺便可以把当天学到的东西记录下来,开始了写博客. 学习书籍:& ...

  5. Flutter学习笔记(21)--TextField文本框组件和Card卡片组件

    如需转载,请注明出处:Flutter学习笔记(21)--TextField文本框组件和Card卡片组件 今天来学习下TextField文本框组件和Card卡片组件. 只要是应用程序就少不了交互,基本上 ...

  6. 21天学通 C++(第8版) 内涵目录

    21天学通 C++(第8版) 第1章 绪论 1 1.1 C++简史 1 1.1.1 与C语言的关系 1 1.1.2 C++的优点 1 1.1.3 C++标准的发展历程 2 1.1.4 哪些人使用C++ ...

  7. 21天学通Python课后实验题4.6

    21天学通Python课后实验题4.6 1. 编程实现用户输入一门课程的两门子课程成绩,第一门子课程60分以上,则显示“通过”,第一门子课程不及格,则显示“未通过”,第一门子课程及格,而第二门子课程不 ...

  8. 21天学通PythonPDF高清完整版免费下载|百度云盘

    百度云盘:21天学通PythonPDF高清完整版免费下载 提取码:nqa9 豆瓣评分: 书籍封面: 内容简介  · · · · · · <21天学通Python>全面.系统.深入地讲解了P ...

  9. 21天学通Python PDF完整版

    有需要的点击这里自取 内容简介  · · · · · · <21天学通Python>全面.系统.深入地讲解了Python编程基础语法与高级应用.在讲解过程中,通过大量实际操作的实例将Pyt ...

随机推荐

  1. smb 访问时 提示权限不够

    1. 确认 防火墙关闭和getenforce 为Permissive 状态. 关闭防火墙 service iptables stop 关闭  setenforce 0 2.windows 登录切换 身 ...

  2. 网络编程-day4

    #服务端 import socketserver class Myserver(socketserver.BaseRequestHandler): def handle(self): while 1: ...

  3. THUWC2019游记

    Day -INF 听说自己苟进了THUWC,然而我还什么都不会啊,这样去了不得被吊打. 随便列了几个WC前的计划,然而到最后一个都没有完成,感觉学习效率好低啊,周围一众神仙天天吊打我. Day 0 坐 ...

  4. Vue.directive添加全局指令详解

    自定义指令创建: Vue.directive( 'mycolor(指令名称:推荐全部小写,驼峰命名会出现问题,看最后面)' , { bind:function(){}, //本例只介绍inserted ...

  5. Go 基础 坑

    1.字符串空为"" 2. 传递的数组是原数组的拷贝,所以是无法通过传递数组的方法去修改原地址的数据的.在GO语言中除了切片(slice).集合(map).通道(channel)和接 ...

  6. iis 支持 .netcore 环境

    1,安装 dotnet-win-x64 https://dotnet.github.io/2,安装 DotNetCore.1.0.4_1.1.1-WindowsHosting.exe  https:/ ...

  7. vmware克隆虚拟机后进行网络配置

    1.首先将虚拟机网络模式选为NAT模式 2.点击高级,查看MAC地址 然后编辑:/etc/udev/rules.d/70-persistent-net.rules 其中teh是网卡的名称,每一次克隆新 ...

  8. 给django视图类添加装饰器

    要将login_required装饰到view class的dispatch方法上, 因为dispatch方法为类方法,不是单个的函数,所以需要将装饰函数的装饰器 login_required转化为装 ...

  9. jvm参数及分析工具

    -Xmx4G 设置堆的最大内存大小为4GB,也可通过-XX:MaxHeapSize=4GB进行设置 -Xms256m 设置堆的初始内存大小为256兆,如果未设置此选项,则初始大小将设置为新生代和年老代 ...

  10. MySQL MERGE存储引擎

    写这篇文章,主要是因为面试的时候,面试官问我怎样统计所有的分表(假设按天分表)数据,我说了两种方案,第一种是最笨的方法,就是循环查询所有表数据(肯定不能采用):第二种方法是,利用中间件,每天定时把前一 ...