当前位置: 首页 > web >正文

C#学习笔记01之.NET与C#

目录

  • .NET
  • C#
  • 第一个程序
  • 命名空间
  • Main方法
  • 语句
  • 标识符
  • 注释

.NET

.NET(读作“dot net”)是Microsoft推出的用于软件开发、运行的平台,可以实现跨平台、跨语言开发,支持C#、F#、Visual Basic等语言。

.NET Framework是名为公共语言运行时(Common Language Runtime,CLR)的虚执行系统和一组类库。CLR是对公共语言基础结构(Common Language Infrastructure,CLI)国际标准的实现。CLI是创建执行和开发环境的基础,语言和库可以在其中协同工作。

C#

C#(读作“C Sharp”)是Microsoft推出的,由C和C++衍生出的,安全、稳定、简单、优雅的面向对象且运行于.NET Framework和.NET Core之上的高级程序编程语言,于2000年6月发布。它在继承C和C++强大功能的同时去掉了一些复杂特性如多重继承、内存管理,并提供了大量API以显著提高开发效率。

C#源代码(.cs文件) 并不直接编译成能在操作系统执行的二进制本地代码,而是被编译成符合CLI规范的中间语言(Intermediate Language,IL),然后由CLR执行。IL代码和资源(如位图和字符串)存储在扩展名为.dll或.exe的程序集中。由于程序集是包含代码和元数据的子描述功能单元,因此C#不需要显示引用头文件。

执行C#程序时,程序集将加载到CLR。CLR会直接执行实时编译(Just In Time,JIT),将IL代码转换成二进制机器码。CLR可提供其他与自动垃圾回收、异常处理和资源管理相关的服务。CLR执行的代码有时称为“托管代码”,而“非托管代码”被编译成面向特定平台的本机语言。

C#编译器生成的IL代码符合通用类型系统(Common Type System,CTS)。通过C#生成的IL代码可以与通过.NET版本的F#、Visual Basic、C++生成的代码进行交互。

第一个程序

按照惯例,使用“Hello World”实现第一个C#程序,代码如下:

// 引用命名空间
using System;// 自定义命名空间
namespace MyCode
{// 自定义类class Hello{// Main入口函数static void Main(){// 控制台打印“Hello World”Console.WriteLine("Hello World");}}
}

其中:

  • using System;:通过using指令引用名为System的命名空间。
  • namespace MyCode:通过namespace关键字声明命名空间MyCode,此命名空间包含了Hello类。
  • class Hello:使用class关键字声明Hello类,该类只包含一个Main方法。
  • static void Main():方法成员Main()是一个 static(静态)的、无参、返回值为void(空)、只包含一个语句的方法。
  • Console.WriteLine("Hello World");:调用了Console类的WriteLine()方法,在控制台打印参数“Hello World”。Console是命名空间System中的一个类,提供了控制台相关的API,因此在代码开头要引用System

命名空间

命名空间提供了一种用于组织C#程序和库的分层方法,用于组织、管理、重用重名的类型和方法。使用namespace关键字声明命名空间,用{}包裹其下的内容(各种类型与其他命名空间,命名空间可以嵌套,通过.引用多层命名空间)。

在代码中使用其他命名空间的类型时需要显示指明命名空间。

System.Console.WriteLine("Hello World");

借助引用给定命名空间的using指令,可以简化调用,即允许非限定的方式使用相应命名空间的成员。

using System;Console.WriteLine("Hello World");

此外,可以使用using重命名相关命名空间的类型。

using SConsole = System.Console;SConsole.WriteLine("Hello World");

Main方法

按照约定,C#程序的入口是名为Main()的静态方法(库和服务不要求)。Main()在类或结构中声明,必须是static(封闭类或结构不一定要是静态的),不需要是public

语句

程序操作使用语句进行表示,每个语句由;结尾。使用{}包裹的语句称为语句块,可以包含一个或多个语句。

标识符

标识符是分配给类型、成员、变量、命名空间或任何其它用户定义的项目的名称。有效标识符必须以字母或下划线_开头,并使用Unicode字符,不能包含任何嵌入的空格或符号。C#是大小写敏感的,标识符必须区分大小写。

通常,标识符不能是C#关键字或保留关键字。使用前缀@允许将C#关键字用作为标识符,即逐字标识符,用于与其他语言交互。

标识符命名有以下约定:

  • 见名知意。
  • 标识符不应包含两个连续的下划线_,这些名称将保留给编译器生成的标识符。
  • 通常对类型和方法等使用帕斯卡拼写法(PascalCasing),对变量、参数等使用驼峰式拼写法(camelCasing)。

注释

注释是用于解释代码。优秀的程序员能够在适当的地方进行合适的注释,以提高代码可读性。编译器会忽略注释的条目。

C#中注释有:

  • 单行注释:以//开头至行的末尾。
  • 多行注释:以/*开头并*/结尾。
  • XML注释:在成员前使用///和XML标签包裹,可以在非定义处查看对该成员的注释,亦是文档生成器的标记。
// 这是单行注释/* 这是* 多* 行* 注* 释*//// <summary>
/// Hello是一个自定义类
/// </summary>
class Hello { }

注释有以下约定:

  • 在注释分隔符与注释文本之间插入一个空格。
  • 将注释放在单独的行上,而非代码行的末尾。
  • 确保所有公共成员都有必要的XML注释,为其行为提供适当说明。
http://www.xdnf.cn/news/11764.html

相关文章:

  • arp 已知mac找ip_怎么通过mac地址查ip 通过mac地址查ip方法【图文】
  • Windows Mobile手机软件安装卸载方法
  • Windows 动态注入(远程线程、消息钩子、APC)
  • 建网站并不难,只需6个步骤,就能做出一个网站
  • (php毕业设计源码)基于php的公交查询系统
  • 浅谈12306核心模型设计思路和架构设计
  • VHDL语言实现的任意整数分频器。
  • 记录Windows XP系统安装详细图文版安装日志
  • python自带的数据库_python用sybase自带的sybpydb模块访问数据库
  • delphi文件操作
  • STM32 SPI 软件NSS和硬件NSS解读
  • 黑客教你破解Email账号的三种方法
  • Mapreduce多条数据去重处理
  • Dedecms5.7数据结构说明文档
  • 进入qq空间显示服务器错误,解决QQ空间打开无响应或报错的方法
  • editplus 5注册码
  • 龙将加速浏览器_疫情严重反弹!马克龙宣布法国再度实施封锁措施
  • USD MID-160|全球最薄的MID!
  • IT外企那点儿事(转)
  • 彩虹桥木马程序backdoor.win32.bifrose.gel查杀
  • Eclipse导入项目already exist
  • 游戏开发随手记:Cocos2d触摸分发原理
  • 腾讯开源框架
  • 网易爱才 取之有道
  • Android休眠唤醒驱动流程
  • 企业邮箱托管外包后安全吗?企业邮箱安全须知
  • javascript语言入门教程,javascript教程完整版
  • 职业价值观测评(舒伯修订版)
  • 抢先体验Windows Technical Preview(Windows 10)和Windows Server Technical Preview
  • suse linux enterprise 10下载,在suse linux enterprise 10 中安装 oracle 10g