a. 语法基础
i. 命名空间(namespace):是 C# 中组织代码的方式,用来声明命名空间
. 语法:namespace 命名空间名称{ //命名空间的声明 }
. 作用:可以把紧密相关的一些代码放在同一个命名空间中,大大提高管理和使用的效率
. 与 Java 的不同处:Java 的是使用 package(包) 的关键字,作用是与 namespace 类似
i. using 关键字:用来引用其他命名空间
. 语法:using 类名;
. 与 Java 的不同处:Java 的是使用 import 关键字来导入其他包,作用是与 using 类似
ii. class 关键字:用来声明类
. 语法:class 类名{//类的声明 }
. 与 Java 的不同处:不要求类名必须与源文件的名字一样
iii. Main方法:是程序运行的入口,应用程序从这里开始运行
. 语法为:public static void Main()() { //Main 方法中的代码 }
. 以上语法说明:Public(访问修饰符,现是公开的)、static(静态类,不用实例化)、void(返回值,现是无返回,还有返回 Int 型)、Main(Main 方法可以带参数)
. 注意:特别强调 Main 方法的首字母 M 必须大写
. 与 Java 的不同处:Java 只有一种形式,但 C# 有四种形式
iv. 类和对象:类是创建对象的模板,对象是类的一个具体实例
. 类:
a. 语法:访问修饰符 class 类名{ //类的主体 }
b. 方法:用来描述类的行为
i. 语法:访问修饰符 返回类型 方法名(参数列表){ //方法的主体 }
c. 属性:用来描述类的特征
i. 字段:定义访问的数据类型
ii. 方法:访问的方法
. get():用来返回相应的私有字段的值
. set():用来设定相应的私有字段的值
v. 访问修饰符:用来修饰类成员字段和方法的符号,以此限定类成员的可访问级别
. private:私有成员, 在类的内部才可以访问。
. protected : 保护成员,该类内部和继承类中可以访问。
. public : 公共成员,完全公开,没有访问限制。
. internal: 在同一命名空间内可以访问
i. this 关键字:是指当前对象本身,在类的内部,可以用“this”关键字访问他的成员
. 作用:可以解决成员变量和局部变量名称冲突的问题
i. base 关键字:表示父类,调用父类构造函数时,只能传递参数
i. 语句块:在 C# 程序中,把使用符号“{”和“}”包含起来的程序称为“语句块”
. 在条件和循环语句中经常用到
. 作用:把重复使用的程序语句放在一起以方便使用,这样有助于程序的结构化
ii. 语句终止符:每一句 C# 程序都要以语句终止答来结束,C# 是语句终止符是“;”
i. 注释:
. 单行注释:符号是“//”,注释内容在符号之前
. 多行注释:符号是“/*”和“*/”,注释内容在两个符号之间
i. 变量:是指在程序的运行过程中其值可以被改变的量,变量的类型可以是任何一种 C# 的数据类型
. 定义格式:
a. 先定义后赋值:变量数据类型 变量名(标识符);
b. 定义同时赋值:变量数据类型 变量名(标识符)= 变量值;
. 命名变量有如下规范:
a. 变量名必须以字母开头
b. 变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运行符号等其他符号
c. 变量名不能与 C# 中的关键字名称相同
d. 变量名不能与 C# 的库函数名称相同
ii. 常量:是值在程序的运行过程中其值不能被改变的量
. 语法:const 常量数据类型 常量名 = 常量值
. 命名规范与变量相同
iii. 大小写的区别:C#是一种对大小定敏感的语言,同名的大写和小写代表不同的对象
. 规范:对于私有变量的定义一般都以小写字母开头,而公共变量的定义则以大写字母开头
i. 表达式:表达式是运算符和操作符的序列
ii. 运算符:运算符是表示各种不同运算的符号
. 一元运算符:处理一个操作数,只有少数几个一元运算符
. 二元运算符:处理二个操作数,大多数运算符都是二元运算符
. 三元运算符:处理三个操作数,只有一个三元运算符
. 算术运算符:主要用于数学计算,如:加(+)、减(-)、乘(*)、除(/)、自加(++)、自减(--)
. 赋值运算符:用于将一个数据赋予一个变量、属性或者引用,数据可以是常量,也可以是表达式,如:加等(+=)、减等(-=)、乘等(*=)、除等(/=)等
. 关系运算符:用于两数之间的比较,如:大于、(>)、小于(<)、等等(==)、大等于(>=)、小等于(<=)、不等于(!=)
. 逻辑运算符:主要用于逻辑判断,包括逻辑与、逻辑或、逻辑非,如:两真才真,一假必假(&&)、一真必真,两假才假(||)、取反(!)
. 条件运算符:是 C# 中唯一的一个三元运算符,如:三元运算符(?:)
. 位运算符:是以二进制的方式操作数据,并且操作数和结果都是整数类型的数据,如:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)
iii. 集合:
. ArrayList:也称数组列表,可以直观地动态维护,访问元素时需要类型转换,删除数据时,可以通过索引或者对象名访问其中的元素
. Hashtable:也称哈希表、字典等,它的元素都是以 键/值 对的形式存在。访问其中的元素需要进行类型转换,遍历 Hashtable 时,可以遍历其 Value或 Key。其不能通过索引访问,只能通过键访问值
. 泛型集合:可以约束它所存储的对象的类型,访问集合中的元素无须进行类型转换,使用泛型集合必须实例化
a. List<T> 与 ArrayList 类似
i. 语法:List<T> 对象名 = new List<T>();
. <T> 中的 T 可以对集合中的元素类型进行约束,T 表明集合中管理的元素类型
b. Dictionary<K,V> 与 Hashtable 类似
i. 语法:Dictionary<K,V> 对象名 = new Dictionary<K,V>();
. K 代表集合中的键,V 代表集合中的值
. 泛型类:
a. 定义:public clas 类名<T> { // …}
i. T 代表具体的数据类型,可以是类类型,也可以是基本数据类型
. 泛型优点如下:
a. 性能高
b. 类型安全
c. 实现代码的重用

C#-01.语法基础的更多相关文章

  1. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  2. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  3. 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现

    073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...

  4. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

  5. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

  6. 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据

    070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...

  7. 069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求

    069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...

  8. 068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题——基本数据类型传值

    068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题--基本数据类型传值 本文知识点:参数传递问题--基本数据类型传值 说明:因为时间紧张,本人写博 ...

  9. 067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数

    067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数 本文知识点:数组作为方法参数 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...

随机推荐

  1. NSUserDefaults数据存储

    前言 用来保存应用程序设置和属性.用户保存的数据.用户再次打开程序或开机后这些数据仍然存在. 如果往 userDefaults 里存了一个可变数组,取出来的时候这个数组对象就变成了不可变的. NSUs ...

  2. Mysql高性能优化规范建议

    数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意 ...

  3. 光猫烽火Hg220破解超级口令实用图文教程(亲测)

    1.用光猫背后的useradmin 帐号和密码登录 192.168.1.12.然后下载http://192.168.1.1/backupsettings.conf3.用记事本打开,ctrl+F,查找关 ...

  4. spring 学习(二):spring bean 管理--配置文件和注解混合使用

    spring 学习(二)spring bean 管理--配置文件和注解混合使用 相似的,创建 maven 工程,配置pom.xml 文件,具体可以参考上一篇博文: sprint 学习(一) 然后我们在 ...

  5. 【洛谷2113】看球泡妹子 DP背包

    看球泡妹子 题目背景 2014年巴西世界杯开幕了,现在满城皆是世界杯,商家们利用它大赚一笔,小明和小红也借此机会增进感情. 题目描述 本届世界杯共有\(N\)支球队,\(M\)场比赛.男球迷小明喜欢看 ...

  6. 条目七《如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉》

    如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉 在STL中容器是智能的,可以在容器销毁时自动调用容器里对象的析构函数来销毁容器存储的对象. STL的容器虽然比较智能 ...

  7. JS 创建元素的三种方法

    1.动态创建元素一 document.write() 例如向页面中输出一个 li 标签 <pre class="html" name="code"> ...

  8. HTML <form> target 属性

    浏览器支持 所有主流浏览器都支持 target 属性. 定义和用法 target 属性规定一个名称或一个关键词,指示在何处打开 action URL,即在何处显示提交表单后接收到的响应. target ...

  9. C++_类入门2-使用类

    进一步探讨类的特征,重点是类设计技术,而不是通用原理.一些特性很容易,一些特性很微妙. 运算符重载 目的是使C++操作更美观,更接近于内置类型的操作. 隐藏了内部的实现机理,并强调了实质. 格式:op ...

  10. C++_友元1-友元类是什么

    友元函数:不是类的成员函数,但是能够访问类的私有数据成员. 之前有个矛盾就是规定非成员函数不能直接访问类的私有数据,但是这会儿却可以,但那只是针对常规非成员函数而言,特殊的非成员函数就可以访问类的私有 ...