C#入门---1、C#装备知识(C#如何学习)
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#如何学习)的更多相关文章
- C#入门---2、C#装备知识(C#创建桌面程序的时候创建的是什么应用程序)
C#入门---2.C#装备知识(C#创建桌面程序的时候创建的是什么应用程序) 一.总结 一句话总结: WPF应用程序:来替代 WindowsFroms 来创建桌面应用程序 1.什么是控制台程序 Con ...
- Struts2入门1 Struts2基础知识
Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...
- Hibernate入门1. Hibernate基础知识入门
Hibernate入门1. Hibernate基础知识入门 20131127 前言: 之前学习过Spring框架的知识,但是不要以为自己就可以说掌握了Spring框架了.这样一个庞大的Spring架构 ...
- Python 入门之Python基础知识
Python 入门之Python基础知识 1.变量 (1)变量就是把程序运行的中间结果临时存在内存中,以便后续代码使用 (2)变量的作用: 昵称,就是代指内存中某个地址中的内容 a = 123 变量名 ...
- Vue大概知识体系和学习参考
Vue大概知识体系和学习参考文档 官方文档学习,参考,借鉴地址:https://cn.vuejs.org/v2/guide/installation.html 菜鸟教程:https://www.run ...
- IT知识圈视频学习资源整理贴
原文地址 热门课程 1.2019 尚学堂大数据全套视频教程(视频.源码.课件) 2.IDEA破解补丁(支持最新2019.2) 3.2019年 MySQL DBA 6期视频教程 4.微信小程序实战开发特 ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
- abp学习(四)——根据入门教程(aspnetMVC Web API进一步学习)
Introduction With AspNet MVC Web API EntityFramework and AngularJS 地址:https://aspnetboilerplate.com/ ...
- 新手入门 : Windows Phone 8.1 开发 视频学习地址
本视频资源来自Microsoft Virtual Academy http://www.microsoftvirtualacademy.com/ 下面为视频下载地址! 新手入门 : Windows P ...
随机推荐
- 359. Logger Rate Limiter
/* * 359. Logger Rate Limiter * 2016-7-14 by Mingyang * 很简单的HashMap,不详谈 */ class Logger { HashMap< ...
- linux 用户管理命令学习
groupadd www-data 添加组 useradd phpcomposer -g www-data 添加用户并加入组中 passwd phpcomposer 添加密码 usermod -g p ...
- mysql 源码 jin-yang.github.io
https://jin-yang.github.io/post/mysql-group-commit.html
- go 依赖包管理工具gb安装报错
尝试了下gb工具,发现有个问题: [root@etcd1 test]# go get github.com/constabulary/gb/... /home/gopath/src/github.co ...
- 8.【nuxt起步】-vue组件之间数据交互
那么现在问题来了,我现在是在index.vue获取了服务端的数据,怎么传值到maincontent.vue?当然你也可以把获取数据放在maincontent.vue,但假如有些数据同时在header, ...
- Windows Server 2008R2 设置SMTP邮件转发服务
最近因业务需求在Windows Server 2008R2server上设置SMTP转发服务,主要是在业务审批过程中邮件通知相关人员审批情况, 1.在server上加入服务 2.打开服务 3.新建一个 ...
- 串匹配算法讲解 -----BF、KMP算法
参考文章: http://www.matrix67.com/blog/archives/115 KMP算法详解 http://blog.csdn.net/yaochunnian/artic ...
- django(一)--- 安装django
准备好虚拟环境:Python开发虚拟环境 安装前的准备 1. 下载django:django下载 本文使用的是django-1.5.9(不同版本号之间的差别还是比較大的.别搞错了) 2.准备djang ...
- Long-term stable release maintenance
http://en.wikipedia.org/wiki/Linux_kernel 2014.5.28 2.6.32 2 December 2009[122] 2.6.32.62[123] Willy ...
- YUV格式
http://blog.csdn.net/u011270282/article/details/50696616 http://blog.csdn.net/acs713/article/details ...