【转】什么是.Net以及.Net的基本语法
什么是.Net?
1. 通常意义所说的.net有5个组成部分,但最主要的部分是.NET Framework, .NET Framework实际上是运行在Windows操作系统的一个应用程序,一个可供二次开 发的类库。.NET Framework包括以下组件:
公共语言运行库(CLR)
基础类库(BCL)
数据库访问组件(ADO.NET和XML)
基于ASP.NET编程框架的网络服务(Web Service)和网络表单(WebForms)
Windows桌面应用界面编程组件(WinForm).
2..NET是微软公司和sum公司的结果
3. 狭义的.net是指.net Framework,。.net Framework核心是CLR(公共语言运行时)
4..Net可以使用多种语言来开发应用系统
.Net的运行机制?
.net源代码 |
中间语言IL (Intermediate Language) |
CLR(Common Language Runtime)公共语言运行库 |
第二次编译 |
机器码(可执行的最终代码) |
在.net中,编译分为两个阶段:
1.把原代码编译为中间语言(IL)
2.CLR把IL编译为平台专用代码.
.Net常见的术语?
Mircorsoft中间语言(Microsoft Intermediate Languane)MSIL
通用类型系统(Common Type System) CTS
公共语言规范(Common Language Specification ) CLS
公共语言运行库(Common language Runtime) CLR
托管代码(Manged Code)
即时编译(JIT)
.Net能够使用多语言开发的原因(语言互操作的原因)?
1. 所使用的语言必须遵守公共语言规范。
2. 进行第一编译后,在中间语言里,类型都变成了统一的(通用类型系统)。
3. CLR进行二次编译,编译成机器码。
c#基本语法?
变量
1.〉在C#中声明变量用如下语法:
datatype identifier 即:数据类型 变量名
注意:
在C#中变量必须先声明后使用(强类型语言)
C#严格区分大小写
变量必须以字母或者下划线开头,但变量名中可以包含数字
Int num 对
Int _num 对
Int 2num 错
不能把C#关键字作为变量名
2.〉变量的作用域
变量的作用域就是变量在代码当中能起作用的范围。一般情况下有以下规则:
(1) 字段(变量)所属的类在某个作用域内,那么变量也在该作用域内起作用。
(2) 局部变量(指包含在函数中的变量)的作用域存在于该变量所在的块语句或方法结束的封闭的大括号之前。
(3) 在for,while或类似语句中声明的局部变量存在于该循环体内。
3.〉局部变量的作用域冲突
大型程序在不同的部分使用相同的变量名是很常见的,但要注意,同名的变量不能在程序的同一作用域声明两次。
using System; namespace ScopeTest
{ class Test
{ [STAThread]
static void Main(string[] args)
{
// int i=20;
// int i=30;//不可以,同名的局部变量不能在同一作用域内声明两次。
//以下的变量声明方法可以
for(int j=0;j<10;j++)
{
Console.WriteLine(j);
}
//在这个地方,j的作用域已经无效,所以可以重新声明一个j
for(int j=9;j>=0;j--)
{
Console.WriteLine(j);
}
}
}
}
4.〉字段和局部变量的作用域冲突
有的时候,可以区分名称相同、作用域相同的两个标识符。此时编译器允许声明第二个变量因为C#使变量之间有个基本的区分,把声明为类级的变量看作是字段,而把方法中声明的变量看作是局部变量。考虑下边的代码:
using System; namespace ScopeTest1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Test
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
static int j=20;
[STAThread]
static void Main(string[] args)
{
int j=30;
Console.WriteLine(j);
}
}
}
虽然在同一作用域内声明了两个j,但第一个j定义在类的级别上(static),在该类被删除以前都有效。此时,第二个变量j隐藏了同名的类级变量j,局部变量在起 作用。所以结果为 30。那么,如果要使用类级变量怎么办?可以使用object.fieldname。
原文链接:http://www.cnblogs.com/jiezhang/archive/2012/12/12/2814061.html
【转】什么是.Net以及.Net的基本语法的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- 纯CSS3实现的一些酷炫效果
之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的. 一.笑脸猫动画 实现效果如下: 这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整. 1.先看 ...
- SQLSERVER将一个文件组的数据移动到另一个文件组
SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- SQL Server表分区
什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- 【.net 深呼吸】细说CodeDom(7):索引器
在开始正题之前,先补充一点前面的内容. 在方法中,如果要引用方法参数,前面的示例中,老周使用的是 CodeVariableReferenceExpression 类,它用于引用变量,也适用于引用方法参 ...
随机推荐
- js方法实现--上传文件功能
function createUploadForm(fileElementId, data, curFileList) { var id = new Date().getTime(); var for ...
- SpringAop注解实现日志的存储
一.介绍 1.AOP的作用 在OOP中,正是这种分散在各处且与对象核心功能无关的代码(横切代码)的存在,使得模块复用难度增加.AOP则将封装好的对象剖开,找出其中对多个对象产生影响的公共行为,并将其封 ...
- s:if 判断 s:property
判断<s:property value="XXX"/> 是否是空字符串 则:<s:if test=" XXX == '' ">< ...
- 性能测试学习 第八课--LR12中针对WebServices协议的三种脚本开发模式
一,webservices协议简介 webservices是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接, 其中最基本的协议包括soap,wsdl,uddi ...
- 不高兴的o( ̄ヘ ̄o#)JJ
题目描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞蹈和钢琴.但是津津如果一天上课超过八个小时就会不高兴,而 ...
- SQL DISTINCT去掉重复的数据统计方法【转】
SELECT指令让我们能够读取表格中一个或数个栏位的所有资料.这将把所有的资料都抓出,无论资料值有无重复.在资料处理中,我们会经常碰到需要找出表格内的不同资料值的情况.换句话说,我们需要知道这个表格/ ...
- C++或C#调用外部exe的分析
假如有个外部程序名为A.exe,放在目录E:\temp\下,然后我们用C++或者C#写一个程序调用这个A.exe的话(假设这个调用者所在的路径在D:\invoke),通常会采用下面的代码: // C# ...
- [Swift]LeetCode305. 岛屿的个数 II $ Number of Islands II
A 2d grid map of m rows and n columns is initially filled with water. We may perform an addLand oper ...
- [Swift]LeetCode902. 最大为 N 的数字组合 | Numbers At Most N Given Digit Set
We have a sorted set of digits D, a non-empty subset of {'1','2','3','4','5','6','7','8','9'}. (Not ...
- 互联网最新kafka技术面试题含答案
1.Kafka 的设计时什么样的呢? Kafka 将消息以 topic 为单位进行归纳 将向 Kafka topic 发布消息的程序成为 producers. 将预订 topics 并消费消息的程序成 ...