发布于
C#学习日志 01
C#是什么
C#是由微软(Microsoft)开发与维护的现代编程语言,它能在多种操作系统平台上运行,并有着不错的性能和优雅的语法,而且它是Unity引擎中游戏脚本开发所指定的语言。
本博客主要记述C#语言的一些语法概念及其用法,以及到C# 8.0版本为止的各种语法糖。(你问我为什么只到C# 8.0 ?那还不是因为Unity不更新C# 版本)
面向对象
C#是面向对象的编程语言。面向对象有四项基本原则:
- 抽象:将实体的相关特性和交互建模为类,以定义系统的抽象表示。
- 封装:隐藏对象的内部状态和功能,并仅允许通过一组公共函数进行访问。
- 继承:根据现有抽象创建新抽象的能力。
- 多态性:跨多个抽象以不同方式实现继承属性或方法的能力。
Hello World
按照惯例我们先贴一个C#的Hello World程序:
using System;
class Program
{
void Main()
{
Console.WriteLine("Hello World!");
}
}
可以看出非常简单的一个入门程序也带有类,当然在新版本的C#中因为引入了顶级语句所以不用像这样引用System类库和创建一个类来写Main方法了。
using 语句
using类似于C语言中的#include预处理器指令,但是功能要多上那么一些。
与C语言类似的是,using可以让我们使用自己写的代码中不存在的东西,比如Main方法中的Console.WriteLine。
就像C语言中一样,只有我们using System;了才可以这么写,但是与C语言中不同的是,我们可以直接把Console.WriteLine写成System.Console.WriteLine,在编译的时候编译器会自动处理这些自带库里有的东西,所以效果是一样的。
那么using与#include有什么不同呢?using可以用来声明局部变量和表达式,功能还挺多的,但是没有太多人这么用,而且也有一些坑,比如using声明的局部变量的类型有一定限制,局部变量的处理顺序是FILO,还有作用域的问题,所以一般还是用来引用文件(准确来说引用的是命名空间,也就是namespace)。
class Program {}
然后来到我们的class关键字,显而易见,它就是用来创建类的,现在讲这个玩意没什么好讲的,我们后面可以围绕继承和多态来讲讲。只要知道它的语法就行了,class后接类名,然后接一对花括号 {} ,类的内容包含在花括号中。
void Main() {}
然后就到我们的Main()函数了,准确来说是Main()方法,我们把类里的函数(Function)叫作方法(Method)在这个方法是我们程序的入口点,也就是说程序会自动从这个函数开始执行。
当然.Net 6以上的.Net版本引入了顶级语句,我们只拿来写些小代码是可以不用写Main这个方法的。比如上面这个程序可以直接写个Console.WriteLine("Hello World!");
记住定义方法时需要的语法:类型名后接方法名,再接一对圆括号 () ,最后接一对花括号 {} ,方法的内容包含在花括号中。
Console.WriteLine(“Hello World!”);
这一行就是输出Hello World的关键了,这里我们调用了System命名空间中一个叫作Console的类中的**WriteLine()**方法来输出Hello World。
注意,C#中的语句需要以分号 ; 结尾,否则编译器会报错。
总结
本文中我们初步了解了C# Hello World程序的组成,下篇文章中我们将了解C#中的类型。