C# 入门篇1-13

2021-10-26  本文已影响0人  愤斗的小蚂蚁

1. C#,Unity3D‘JS,UnityScript(BOO)

UnityScript和Boo的渊源

2. C#之于.NET

.net和c#的关系其实简单,.net是c#的运行环境,而c#只是.net的其中一个组成部分中的一种情况。具体来讲,.net包括架构(Framework)、语言(VB,C++,C#,Jscript和J#等)和工具(Visual Studio)。

3. 【装箱、拆箱】当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。

object obj;
obj = 100; // 这是装箱

4.1 动态类型与对象类型相似,但是对象类型变量的类型检查是在编译时发生的,而动态类型变量的类型检查是在运行时发生的。

dynamic <variable_name> = value;
dynamic d = 20;

4.2 C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待,比如:

string str = @"C:\Windows";
等价于:
string str = "C:\Windows";
@ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。

4.3 指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。

5. C# 中的 Lvalues 和 Rvalues

C# 中的两种表达式:
lvalue:lvalue 表达式可以出现在赋值语句的左边或右边。
rvalue:rvalue 表达式可以出现在赋值语句的右边,不能出现在赋值语句的左边。
变量是 lvalue 的,所以可以出现在赋值语句的左边。数值是 rvalue 的,因此不能被赋值,不能出现在赋值语句的左边。下面是一个有效的语句:
int g = 20;
下面是一个无效的语句,会产生编译时错误:
10 = 20;

6. 常量是使用 const 关键字来定义的 。定义一个常量的语法如下:

const <data_type> <constant_name> = value;

7. is 和 as

is 判断对象是否为某一类型。 If( Ford is Car) // 检查 Ford 是否是 Car 类的一个对象。
as 强制转换,即使转换失败也不会抛出异常。 Object obj = new StringReader("Hello");
StringReader r = obj as StringReader;

8. switch 语句必须遵循下面的规则:

9. C# 也支持 foreach 循环,使用foreach可以迭代数组或者一个集合对象。

10. C# 封装

封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。
抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。
C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。
一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:

11.1 C# 中定义方法

当定义一个方法时,从根本上说是在声明它的结构的元素。在 C# 中,定义方法的语法如下:
<Access Specifier> <Return Type> <Method Name>(Parameter List)
{
Method Body
}
下面是方法的各个元素:

11.2 在 C# 中,有三种向方法传递参数的方式:

12. C# 可空类型(Nullable)->单问号 ? 与 Null 合并运算符( ?? )-> 双问号 ??

13. 数组

上一篇下一篇

猜你喜欢

热点阅读