C#入门---1、C#装备知识(C#如何学习)

一、总结

一句话总结:

主视频,辅助书和教程:还是得看视频,直接看书或者看教程效率不高

1、C#和.NET的关系和区别?

.net是一个平台,核心是.net framework。CLR(Common Language Runtime)。 FLC(Framework Class Library)。
C#是一个程序设计语言。.Net平台上,可以供很多语言进行开发C++、C#、VB……(C#只是该环境下的高级编程语言之一)
ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型

1、.net(dot net)

  .net是一个平台,抽象的平台概念。

  实现形式是库:①定义了基本的类型(通用类型系统CTS,common type system)。

           ②包含.net公共语言运行库(CLK,common language runtime,负责管理用.net库开发的所有应用程序的运行)。

  核心是.net framework

    NET Framework包括两个关键组成元素:

a.Common Language Runtime,公共语言运行时(CLR)-提供内在管理,代码安全性检测等功能。

b..NET Framework Class Library,.NET框架类库(FLC)-提供大量应用类库,提高开发效率 。

2、C#(C sharp)

  C#是一个程序设计语言,仅仅是一个语言,是运行在.net CLR上的,用于创建应用程序的高级语言。

3、ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。  

ASP.NET 是用于生成基于Web的应用程序的内容丰富的编程框架。

2、.net(dot net)是什么?

平台:.net是一个平台,核心是.net framework,实现形式是库。+
CLR:a.Common Language Runtime,公共语言运行时(CLR)-提供内在管理,代码安全性检测等功能。 +
FLC:b..NET Framework Class Library,.NET框架类库(FLC)-提供大量应用类库,提高开发效率 。

1、.net(dot net)

  .net是一个平台,抽象的平台概念。

  实现形式是库:①定义了基本的类型(通用类型系统CTS,common type system)。

           ②包含.net公共语言运行库(CLK,common language runtime,负责管理用.net库开发的所有应用程序的运行)。

  核心是.net framework

    NET Framework包括两个关键组成元素:

a.Common Language Runtime,公共语言运行时(CLR)-提供内在管理,代码安全性检测等功能。

b..NET Framework Class Library,.NET框架类库(FLC)-提供大量应用类库,提高开发效率 。

3、c#可以开发哪些类型的应用程序?

①Windows桌面应用程序,用.Net提供的WPF模块很便捷的就能生成桌面应用
②Windows Store应用程序,这是Win8以上系统针对触摸屏出的设计,通常全屏运行的
③Web应用程序,通过webForms创建的ASP.NET应用程序
④WCF服务,比较高级,是一种灵活创建各种分布式应用程序的方式,可通过局域网或互联网交互几乎各种数据

谈到C#,不得不提.Net,Microsoft .NET Framework是微软的一套框架。

从XP的1.0版,到Win7的3.5版,到了Win8和Win8.1已经4.5和4.5.1版本了,win10是4.6版本的。

.NET Framework引入了"基于证据的安全"的概念。
.NET Framework 的目的就是要让建立Web Services 以及因特网应用程序的工作变的简单。
.NET Framework 包括了三大部分:
①是Common Language Runtime(CLR,所有.NET 程序语言公用的执行时期组件),
②是共享对象类别库(提供所有.NET 程序语言所需要的基本对象),
③是重新以组件的方式写成的(旧版本则是以asp.dll提供ASP 网页所需要的对象)。

.Net平台上,可以供很多语言进行开发C++、C#、VB……(C#只是该环境下的高级编程语言之一)

4、.NET 的两种交互模式?

CS模式(client 客户端 serverv服务器) 客户端和服务器 客户端需要安装每台电脑
BS模式(browser 浏览器 server服务器)浏览器和服务器 客户端只需要安装一个浏览器就可以访问服务器的应用非常方便

5、IDE是什么?

集成开发环境,全称是Integrated Development Environment,一般包括代码编辑器、编译器、调试器和图形用户界面等工具

IDE的意思是集成开发环境,全称是Integrated Development Environment,集成开发环境是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。

6、如何用命令行的方式运行程序(比如qq,vs2015)?

添加系统路径+快捷方式改名(执行快捷方式)
原理:用的是命令行执行时会自动搜索系统环境变量里面的路径下的可执行文件

a、在d盘中新建一个文件夹aa

b、然后将新建文件夹的路径添加系统环境变量path

c、将qq或者vs2015的快捷方式弄到aa文件夹中,并改名:比如将qq的快捷方式改名成qq,那么就可以命令行直接qq来运行qq程序了

7、vs最开始选择的环境是c#,然后我想重置(以便选择别的),我应该修改哪里?

工具->导入导出设置->重置所有设置

8、使用.NET Framework编写应用程序的实质是什么?

使用.NET 【代码库】 编写代码(使用支持Framework的任何一种语言)

9、CIL是什么?

通用中间语言(Common Intermediate Language):这些代码并非专门用于任何一种操作系统,也非专门用于C#其他.NET语言,如Visual Basic.NET也可以在第一阶段编译为这种语言,开发C#应用程序时,这个编译步骤由IDE完成。

为执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码(native code),这种转换称为编译代码,由编译器执行。

在编译使用.NET Framework库的代码时,不是立即创建专用于操作系统的本机代码,而是把代码编译为通用中间语言(Common Intermediate Language)。

这些代码并非专门用于任何一种操作系统,也非专门用于C#其他.NET语言,如Visual Basic.NET也可以在第一阶段编译为这种语言,开发C#应用程序时,这个编译步骤由IDE完成。

10、程序集是什么?

exe:应用程序文件(exe)
dll:其他应用程序使用的库(dll)
在编译应用程序时,所创建的CIL代码存储在一个程序集中。

程序集包括可执行的应用程序文件(exe)和其他应用程序使用的库(dll)。

11、JIT编译器是什么?

即时编译器(Just-In-Time Compiler):将CIL编译成为各种不同的机器代码,以适应对应的系统平台

JIT编译器,英文 写作Just-In-Time Compiler,中文意思是即时编译器。

JIT编译器能够将CIL编译成为各种不同的机器代码,以适应对应的系统平台,最终使得程序在目标系统中得到顺利的进行。

12、运行时(runtime)是什么?

在将代码编译为CIL,再用JIT编译器将它编译为机器代码后,CLR(公共语言运行库)的任务还没有全部完成,还需要管理正在执行的用.NET Framework编写的代码(这个执行代码的阶段通常成为运行时(runtime))。
即CLR管理着应用程序,其方式是管理内存、处理安全性以及允许进行跨语言调试等。

13、非托管类型程序是什么?

不受CLR控制运行的应用程序属非托管类型,某些语言如C++可以用于编写这类应用程序,例如,访问操作系统的低级功能。
但是在C#中,只能编写在托管环境下运行的代码。

我们将使用CLR的托管功能,让.NET自己与操作系统进行交互。

14、托管代码是什么?

简单点说,托管代码是一种microsoft的【中间语言】,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编【译源代码】,也就是说托管代码充当着【翻译】的作用,

15、源代码在运行时分为哪两个阶段?

1.源代码编译为【托管代码】;(所以源代码可以有很多种,如B,C#,J#)
2.托管代码编译为Microsoft系统的.NET平台专用文件(如【类库、可执行文件】等)。

16、创建.NET应用程序所经历的步骤?

1.编写代码:使用某种.NET兼容语言(如C#)编写代码;
2.编译为CIL:把代码 编译 为CIL,存储在 程序集 中;
3.编译为本机代码:在执行代码时,使用 JIT编译器 将中间代码编译为 本机代码 ;
4.运行本机代码:在托管的CLR环境下 运行本机代码 ,以及其他应用程序或进程。

17、创建.NET程序过程?

a、C#应用程序代码     -
b、编译为CIL->    程序集
c、JIT编译器->    本机代码
d、托管的CLR环境下->    EXE文件DLL库

二、内容在总结中

 

C#入门---1、C#装备知识(C#如何学习)的更多相关文章

  1. C#入门---2、C#装备知识(C#创建桌面程序的时候创建的是什么应用程序)

    C#入门---2.C#装备知识(C#创建桌面程序的时候创建的是什么应用程序) 一.总结 一句话总结: WPF应用程序:来替代 WindowsFroms 来创建桌面应用程序 1.什么是控制台程序 Con ...

  2. Struts2入门1 Struts2基础知识

    Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...

  3. Hibernate入门1. Hibernate基础知识入门

    Hibernate入门1. Hibernate基础知识入门 20131127 前言: 之前学习过Spring框架的知识,但是不要以为自己就可以说掌握了Spring框架了.这样一个庞大的Spring架构 ...

  4. Python 入门之Python基础知识

    Python 入门之Python基础知识 1.变量 (1)变量就是把程序运行的中间结果临时存在内存中,以便后续代码使用 (2)变量的作用: 昵称,就是代指内存中某个地址中的内容 a = 123 变量名 ...

  5. Vue大概知识体系和学习参考

    Vue大概知识体系和学习参考文档 官方文档学习,参考,借鉴地址:https://cn.vuejs.org/v2/guide/installation.html 菜鸟教程:https://www.run ...

  6. IT知识圈视频学习资源整理贴

    原文地址 热门课程 1.2019 尚学堂大数据全套视频教程(视频.源码.课件) 2.IDEA破解补丁(支持最新2019.2) 3.2019年 MySQL DBA 6期视频教程 4.微信小程序实战开发特 ...

  7. 【入门必备】最佳的 Node.js 学习教程和资料书籍

    Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...

  8. abp学习(四)——根据入门教程(aspnetMVC Web API进一步学习)

    Introduction With AspNet MVC Web API EntityFramework and AngularJS 地址:https://aspnetboilerplate.com/ ...

  9. 新手入门 : Windows Phone 8.1 开发 视频学习地址

    本视频资源来自Microsoft Virtual Academy http://www.microsoftvirtualacademy.com/ 下面为视频下载地址! 新手入门 : Windows P ...

随机推荐

  1. SVG动画实践篇-音量变化效果

    git 地址:https://github.com/rainnaZR/svg-animations/tree/master/src/pages/step2/volumn 说明 这个动画的效果就是多个线 ...

  2. openfire Android 学习(四)----单人聊天和多人聊天(发送消息、接收消息)

    一.单人聊天 1)发送消息: 首先要获取一个聊天窗口,getConnection()为获取连接connection的方法,调用getFriendChat()获取 [java] view plainco ...

  3. scp 时出现permission denied

    如果scp到 /usr/local/目录下,则无权限,可更改到用户目录下

  4. netd ResponseCode

    100 Requestion action was initiated; expect another reply before proceeding with a new command. 200 ...

  5. Java第三次实验要求

    实验三 类与对象(一) 一. 实验目的 1. 掌握类与对象的基本概念: 2. 掌握类的声明.创建与用法: 3. 掌握类的构造方法的定义与用法 4. 掌握类的成员变量.成员方法的定义与用法: 5. 理解 ...

  6. 使用cacheBuilder实现函数防抖

    在接口中出现的相同请求重复且连续发送的情况导致一些业务BUG,需要在接口上实现防抖 使用google的cacheBuilder import com.google.common.cache.Cache ...

  7. vue2.0 自定义过滤器

    2.0中已经废弃了过滤器,需要我们自定义 <div id="app"> {{message|uppercase}} </div> //过滤器 Vue.fil ...

  8. 实现TextView中link的点击效果

    朋友们,你们在TextView处理link的时候是不是一直被苦逼的android默认的方式困扰?每次点击link的时候,点击效果是整个textview来响应.非常烂吧?原因就不多赘述了. 那么以下这个 ...

  9. java要在命令行执行eclipse的项目的方法

    在命令行运行eclipse的项目时须要把该项目生成一个能够运行的jar包,才干够在命令行下运行:分为两种情况,一种是项目中没有调用第三方的jar包,这样的比較简单.网上的资源也非常多,本文主要讲述第二 ...

  10. Python自动生成文章

    为了应付某些情况,需要做17份记录.虽然不很重要,但是17份完全雷同也不很好.大体看了一下,此记录大致分为四段.于是决定每段提供四种选项,每段四选一,拼凑成四段文字,存成一个文件.文件名就叫“XX记录 ...