C#基本教程第一课
来源:互联网 发布:自由与荣耀 知乎 编辑:程序博客网 时间:2024/06/06 08:31
C#是一门基于.NET的高级语言,正是因为C#处于.NET温暖的怀抱,所以许多C#程序员,甚至许多C#高级程序员对.NET在内存和指令等本质问题上认识不够。况且有许多使用C#的程序员在使用ASP.NET技术进行网站开发,他们有的从脚本语言转型而来,有的在没有充分学习C#的情况下就投入了开发工作,那么他们可能对本质问题的认识就更差一点。但是笔者认为,不管怎么样,都非常有必要更深入理解语言背后的机制,而不仅仅停留在掌握API使用的层次上。只有这样,你才能意识到很多BUG的关键点和性能问题的关键点,并且理解那些高级的特性。
本课程的目的是讲授C#编程语言的基础知识和工作原理。
___________________________________________________________________________________________________________________________________
1.1 一个简单的C#程序
using System;namespace oneapp{ class Program { static void Main(string[] args) { Console.WriteLine("hello!"); } }}
1行:告诉编译器这个程序使用System命名空间的类型
3行:声明一个新命名空间,名称为oneapp
5行:声明一个新的类类型,名称为Program
7行:声明一个名称为Main的方法作为类Program的成员
9行:只包含一条单独的、简单的语句,这一行组成了Main的方法体
2.2 标识符和关键字
标识符识一种字符串,用来命名如变量、方法、参数和许多后面讲要阐述的其他程序结构之类的东西。
- 字母和下划线(a-z、A-Z)可以用在任何位置。
- 数字不能放在首位,但可以放在其他的任何地方。
- @字符可以放在标识符的首位,但不能放在其他任何地方。虽然允许使用@字符,但不推荐作为常用字符。
//语法上有效,但是不应该这样做int totalCycleCountint TotalCycleCountint TotalcycleCount
2.2.1命名约定
对于大多数标识符,应该使用Pascal大小写风格。在这种风格中,连接成标识符的每个单词都首字母大写。例如FirstName和LastName。
推荐的标识符命名风格
命名风格描述使用建议示例Pascal大小写标识符中每个单词都首字母大写用于类型名和成员名CarDeck,DealersHandCamel大小写除第一个单词以外,标识符中所有单词都首字母大写用于本地变量和方法参数totalCycleCount,random-SeedParam全大写标识符由全大写字母组成仅用于缩写词IO,DMA,XML虽然这是建议的指导方针,但很多组织使用其他的约定,尤其是在成员字段的命名方面,这些内容将在第二章介绍。
有两个公共约定如下所示:
- 字段名称以下划线开头:_highTemp、_LowTemp。
- 字段名以m_开头:m_highTemp、m_LowTemp。
这两种方法都有优势,能立刻显示这些标识符是字段名称。
2.2.2关键字
关键字是用来定义C#语言的字符串记号。
关于关键字,一些应该知道的重要内容如下:
- 关键字不能被用作变量名或任何其他形式的标识符,除非以@字符开始。
- 所有C#关键字全部由小写字母组成,但是.NET类型名使用Pascal大小写约定。
C#关键字
abstractconstexternintoutshorttypeofascontinuefalseinterfaceoverridesizeofuintbasedecimalfinallyinternalparamsstackalloculongbooldefaultfixedisprivatestaticuncheckedbreakdelegatefloatlockprotectedstringunsafeBytedoforlongpublicstructushortcasedoubleforeachnamespackreadonlyswitchusingcatchelsegotonewrefthisvirtualcharenumifnullreturnthrowvoidcheckedeventimplicitobjectsbytetruevolatileclassexplicitinoperatorsealedtrywhile上下文关键字是仅在特定的语言结构中充当关键字的标识符。在那些位置,他们有特别的含义。但和关键字不同,关键字不能被用作标识符,而上下文关键字可以在其他部分代码中被用作标识符。
c#上下文关键字
addascendingbydescendingdynamicequalsfromgetglobalgroupintojoinletonorderbypartialremoveselectsetvaluevarwhereyield- C#基本教程第一课
- c#教程第一课简单的欢迎程序
- Grep第一课(基本)
- 破解教程 第一课
- 破解教程 第一课
- ArchieOpenGL教程第一课:搭建opengl基本框架(SDI)①
- C#第一课
- C#第一课
- C#第一课
- c#第一课
- C#的四个基本技巧 _C#教程
- C#的四个基本技巧 _C#教程
- 学习ApacheHttpComponents,HttpCore第一部分,基本翻译官方教程
- JavaScript高级教程 - 第一课
- JavaScript高级教程-第一课
- 分形教程第一课
- Android OpenGL教程-第一课
- Android OpenGL教程-第一课
- 九度 题目1531 货币面值 (组合数学,母函数应用)
- tomcat 开机linux自动启动
- javascript核心
- Java学习之道:JSONObject
- js页面刷新方法
- C#基本教程第一课
- 实测Eclipse连接小米2S调试问题
- java 并发编程
- MIPAV 心得:三维重建大脑,功能媲美Medvol(可读3d+orig)
- 计数排序
- android 关于多任务下载问题
- openjpa框架入门_项目 database 启动project 初始化(三)
- Linux程序射界(一)
- 扩展欧几里德算法