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. 结构体和类中属性定义需要static地方

    private function Readxxx:Integer;static; public class property XXX:Integer read ReadXXx; Txxx =recor ...

  2. 简单配置PonyDebugger

    OS的Debug 系统在github上还是有不少. PonyDebugger是看上去比较牛气的一个.尝试一下 Logo PonyDebugger 可以监控网络 NetworkTrafficDebugg ...

  3. Android NDK 环境配置

    1. 下载NDK 官方链接地址: http://developer.android.com/tools/sdk/ndk/index.html 下载下来的应该是这个东西(以后可能会有更新,但步骤变动不会 ...

  4. DELPHI的BPL使用

    了解BPL和DLL的关系将有助于我们更好地理解DELPHI在构件制作.运用和动态.静态编译的工作方式.对初学DELPHI但仍对DELPHI开发不甚清晰的朋友有一定帮助.第一部分:有关包的介绍 一般我们 ...

  5. iphone越狱-------平刷回越狱前(未越狱)状态

    众所周知,iPhone采用了沙盒机制,应用之间不能任意的访问,所以很多机友在拿到iPhone后,往往选择进行越狱,但是有时候,越狱的手机有的时候在安全.性能.流畅性等方面表现并不如意,所以只好寻求重新 ...

  6. Linux以下基于TCP多线程聊天室(server)

    接上篇博文,本文是server端的实现,主要实现的功能,就是现实client的连接.转发client发送的消息.以及client掉线提示等功能,同一时候能够在这这上面扩展和TCP以及线程相关的功能木块 ...

  7. PHP计算两个时间差的方法

    <?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45 ...

  8. 你必须了解的java内存管理机制(二)-内存分配

    前言 在上一篇文章中,我们花了较大的篇幅去介绍了JVM的运行时数据区,并且重点介绍了栈区的结构及作用,相关内容请猛戳!在本文中,我们将主要介绍对象的创建过程及在堆中的分配方式. 相关链接(注:文章讲解 ...

  9. Docker在centos下安装以及常见错误解决

    系列目录 Docker安装(使用阿里云镜像) Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收 ...

  10. undefined reference to libiconv_open ext/iconv/.libs/iconv.o by install phpsource

    错误信息:ext/iconv/.libs/iconv.o(.text+0x30e2): In function `php_iconv_stream_filter_factory_create':/ho ...