第一章 .NET,C#,开发环境

1 .net framework

     .net framework是一个开发应用程序的平台,可运行于多种操作系统(Windows,linux(.net core),android(xarmain)),微软网站提供.net framework各版本的程序下载。.net framework是.net standard的具体实现,设计为编程语言的一种通用平台,主要支持C#,F#,C++,VB.net四种客户语言,也可以支持其他语言并使语言之间通过某种方式互相通信。总的来说,.net framework可以理解为多种语言,同一平台。

     .net framework的主要内容是一个代码库,供客户语言调用。这些库分为很多模块,根据需求选择其中的各个部分。在不同的操作系统上实现的.net中,包含其中的部分或全部模块。.net framework中的部分库定义了一些基本类型,这些基本类型在客户语言中是通用的,以方便语言之间相互通信,称为通用类型系统(CTS)。.net framework还包含公共语言运行库(CLR),负责管理.net 库开发出应用程序的执行。使用.net framework编写应用程序,就是使用.net 的代码库编写代码。客户语言形成的代码,首先被编译为通用中间语言(CIL或MSIL),这是一种字节码,该编码与客户语言种类无关。需要执行程序时,CIL由JIT编译器编译成机器码,并由CLR执行。整个编译执行过程,如无需求(需求高性能则需要具体优化)不需人工干预。

    编译代码时,所创建的CIL代码存储在一个程序集中。程序集可包括可执行文件(.exe),程序库啊(.dll),元数据(数据信息),其他资源(声音,图像文件)等。这种设计保证了程序部署的易用性,程序集的继续编译和运行不依赖.net framework以外的其他系统信息。

    在将代码编译为CIL,再用JIT编译器将它编译为本机代码后,CLR的还需要管理正在执行的用.net framework编写的代码(既上述CLR的执行阶段,称为runtime),方式是管理内存,处理安全性以及允许进行跨语言调试等。相反的,不受CLR控制运行的应用程序属于非托管类型,某些语言(如C++)可以用于编写此类应用程序。托管代码最重要的一个功能是垃圾回收(GC)。这种.net方法可以确保应用程序不再使用某些内存时完全释放这些内存,其操作过程是自动进行的。需要注意的是,在设计应用程序时,需要许多内存才能运行的代码应手工完成清理工作,而不是坐等垃圾回收。

2 C#

    C#是可用于创建在.net上应用程序的语言之一,是一种强大的语言,在C++中能完成的任务几乎都可以在C#中完成。C#的语法比C++更为简单明晰,代码更为健壮,调试起来也比较简单。C#的代码通常比C++长一点,因为C#是一种类型安全语言,比如在类型转换时,必须遵守严格的规则。.net的每个新版本都会在C#语言中添加新功能,满足开发人员的要求。

        C#可编写以下几种常用程序类型:

;桌面应用程序

;Windows store应用程序

;UWP应用程序

;web,云应用程序

;web api

;WCF服务

    安装.net后,代码可使用任意文本编辑器编辑C#代码,再使用编译器编译,编译器位置位于C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe(或framework64)。需要注意的是,在编译代码时,低版本的.net不能识别高版本C#的新增语法,需要和版本进行对应。windows xp不包含.net framework,windows7默认包含.net framework 3.5,windows8默认包含.net framework 4.0,windows10默认包含.net framework 4.5 。

3 集成开发环境(IDE)

    开发C#程序通常使用以下几种IDE:

;Visual studio

;Monodevelop

;sharpdevelop

;Rider

     简单的说,编制程序就是先是编写源代码,再把源代码编译成可执行的程序的过程。在这里,编写代码使用C#语言规则,它工作在.net平台上,可以使用Visual studio工具作为开发环境,使用.net平台的C#编译器编译源文件。

 

1 C#基本语法

 

    C#语法类似C语言风格(C,C++,JAVA),代码区分大小写,对空白(空格,制表符,换行符)不敏感,但应合理使用空白符形成缩进。分隔符以大括号和分号为主,源代码文件通常以CS作为扩展名。

 

    C#是一种块结构的语言,简单的代码块如下:

 

{

 

    代码1;

 

    代码2

 

        代码3;

 

}

 

    所有语句都是代码块的一部分,每条语句用;分号表示结束。由于忽略空白,一行中可以包含无限多条语句,或者不包含语句,一个代码块被视为一行语句。但从可读性角度看,一行应只包含一条语句。每一个被嵌套的代码块都要缩进的多一级。

 

2 注释

 

    注释是代码的描述性文本,编译器会忽略这些内容。编写程序时应该尽量使代码清晰易读,只在关键位置添加注释。注释的形式如下:

 

    (1)// 单行注释内容,如包含回车符则回车,则后面的内容会被解释为C#代码

 

   

 

    (2)/* 多行注内容  */

 

    (3) /// XML单行注释

 

3 C#控制台程序的基本结构

 

 using System;                                             //引用

namespace ConsoleApp                //名称空间
{
    class Program                                         // 类
    {
        public static void Main(string[] args)   //主方法(函数)
        {
            // output text to the screen.
            Console.WriteLine("Hello world!");//调用console类writeline方法在控制台输出hello world
            Console.ReadKey();                       //readley方法保持命令窗口
        }
    }
}

 

 

 

 

posted on 2018-03-16 14:51 setq 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/setq/p/8579549.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值