C#基础概念总结
C#基础概念总结
1、.NET Framework概念
2、 C#的含义;
3、什么是面向对象编程;
4、Visual Studio开发工具;
5、.NET程序运行的机制;
1、.Net Framework概念
在学习一个新的知识之前,个人觉得首先,你得大致的知道,你学的新知识中的一些关键性的概念,即使只是一个模糊的印象,也比盲人摸象要来的实在;
首先第一点要明确一个概念,.Net它是一个程序开发的平台,就像你做菜的厨房一样,在这个平台之上,你可以使用它支持的程序开发语言(如C++、C#),开发出运行在Windows系统之下的程序,另外还可以创建Web应用程序、Web服务;
厨房里面为我们提供了丰富的工具(各种厨具),而这个平台中也为我们提供了丰富的代码库,这些代码库,可以大大的提高我们开发程序的速度;
厨房中我们可以使用电饭祸、电饭煲等工具来做饭,具体看自己的使用习惯。而在这个平台上我们则可以使用各种程序的开发语言来做出我们想要的程序,你可以使用C++、C#等高级编程语言,而不用再去学习一门新的语言;
现在随着Windows Phone的普及,我们也可以在.Net的平台之下,创建WP的应用程序,而且使用VS开发工具中的一个Mono插件,我们还可以不使用java语言,在Windows上开发Android的应用程序,当然IOS的应用也可以;
2、 C#的含义
C#是一种高级的面向对象的高级语言,它是微软公司,专门为使用.NET平台而创建的,因为它是最近几年才发展起来的,所以它吸取了许多 其它语言的教训,并整合了许多其它语言的优点特性;
3、什么是面向对象编程
面向对象编程是相对于面向过程编程而言的,它们都是编程的一种思想,一开始我以为它们是对立的,经过后来的了解,它们其实是相辅相成的,基于面向对象思想所开发出来的程序中,在它的源代码中肯定有面向过程思想的代码;
因为面向对象的编程思想,只是为我们提供了一种编程的体系结构,其中具体的实现,还是要用面向过程的思想来做,换句话说,就是面向对象给我们设立了一种编程的整体的思想,而具体要实现一些功能的话,还是要用面向过程的思想;
4、Visual Studio开发工具
Visual Studio是一个集成的开发环境(IDE),就像java的eclipse一样,它为我们创建.NET程序,提供了最大的便利,使我们在开发和调试程序的时候,得到效率的最大化,它包含一些例如明显的语法错误,可以智能的识别出来,还可以智能的联想出我们只输入了一点的类名和方法名;
5、.NET程序运行的机制
使用.NET平台所开发出的程序,是运行在.NET平台之上的;也就是所说,如果我开发出了一个.NET程序,我把程序发布出去了,而你的电脑要是没有安装,.NET的平台的话,你就运行不了我的程序,当然安装过后就可以了;
这种运行机制,似乎有些麻烦,但是它却可以带来很多的好处,比如说它降低了程序和系统的相关联性;以前的程序大多都是只能在单独的系统之下运行,例如我开发的Windows系统下的一款程序,在Mac下是不可能运行的,如果想要在Mac下执行,就需要在Mac的平台下,重新的开发程序,这样的话大大的增加了软件开发的周期和成本;于是NET平台的出现,就显得很有必要了,它开发出的程序,是运行在它的平台之下,而这个平台是可以移植到其它系统之下的(虽然目前还没有);
.NET程序的运行,要通过二次编译;首先将源代码编译成CIL(Common Intermediate Language通用中间语言)代码,在运行程序的时候,.NET中的JIT(Just In Time)编译器,就会把CIL编译成,专用于当前操作系统和目标机器结构的本机代码,程序得以执行;这样做比之前的程序的效率会有所降低,但是那些都是微乎其微的,基本可以忽略,随之,却带来了诸多的好处;比如我们可以使用任何语言来开发.NET程序,因为只要找到这种语言和CIL和共性,在第一次编译时加以修改就可以了;
JIT有许多的好处,例如它在编译CIL的时候,是需要的时候才会编译,这样大大的降低了,系统资源的消耗。而且它还会根据系统硬件的差别,在编译时做出相应的调整,这样在硬件配置比较低的PC上,程序也可以流畅的运行;
C#基础概念总结的更多相关文章
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...
- Jmeter基础之---jmeter基础概念
Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...
- 快速入门系列--WCF--01基础概念
转眼微软的WCF已走过十个年头,它是微软通信框架的集大成者,将之前微软所有的通信框架进行了整合,提供了统一的应用方式.记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winfo ...
- 理解 angular2 基础概念和结构 ----angular2系列(二)
前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...
- JavaBean 基础概念、使用实例及代码分析
JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...
- RabbitMQ基础概念详细介绍
http://blog.csdn.net/column/details/rabbitmq.html 转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多 ...
- linux设备驱动归纳总结(二):模块的相关基础概念【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59415.html linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10 ...
- linux设备驱动归纳总结(一)内核的相关基础概念【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59413.html linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxx ...
- 什么是JavaScript闭包终极全解之一——基础概念
本文转自:http://www.cnblogs.com/richaaaard/p/4755021.html 什么是JavaScript闭包终极全解之一——基础概念 “闭包是JavaScript的一大谜 ...
随机推荐
- spring事务源码分析结合mybatis源码(二)
让我们继续上篇,分析下如果有第二个调用进入的过程. 代码部分主要是下面这个: if (isExistingTransaction(transaction)) { return handleExisti ...
- dubbo监控中心与admin管理项目的使用
监控中心与admin管理项目都是针对特定的注册中心进行监控,因此需要配置对应的注册中心的地址,或者在dubbo.properties或者在applications.properties文件配置. == ...
- OGG微服务架构入门
数据复制任务路线图 设置数据复制必须执行许多任务. 下表列出了构建分发路径的阶段. Task Description 运行Oracle GoldenGate Configuration Assista ...
- 【easy】104. Maximum Depth of Binary Tree 求二叉树的最大深度
求二叉树的最大深度 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; ...
- Charles 抓包的简单使用
1.准备工具: 软件 Charles 手机 随意哪个现代手机 2.基本配置 安装Charles的电脑和手机在同一个局域网下, 点击手机上的和电脑练得同一个局域网的名字进行配置,里面有个代理,选择手动, ...
- MS SQL Server 查询元数据
use test -- 查询数据库中所有的表和架构名称select SCHEMA_NAME(schema_id) as table_schema_name, name as table_name fr ...
- Maven内置属性
1.内置属性:如${project.basedir}表示项目根目录,${ project.version}表示项目版本 2.POM属性:用户可以引用pom文件中对应的值.如: ${project.bu ...
- All about Using Burp Suite
1.how to use burpsuite I can't thank them enough for allowing us to test web application ,making su ...
- Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法
检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...
- 【Android】PreferenceActivity 详解
PreferenceActivity是专业的设置界面,只要给它指定一个配置好的xml,它就能自动根据操作更改程序Preference的相应值. 首先要用一个xml文件来配置一个设置界面,也就是我们说的 ...