学习任何知识之前,不妨先问问自己学这个知识的目的是为了什么?有了既定的目的,那么学习起来才会充满干劲。
笔者学习C#的目的,一是为了拥有一个属于自己的游戏,二是提升自己的多元能力。
OK,接下来就开启学习C#之路!(内容中也许因为了解不多,多少存在一些错误,还请大家多多指正!)
一、C# 基本概述
1、C# 是什么?
C# (读作See Sharp
)是由 C/C++ 衍生出来的一门新式编程语言,不仅面向对象,而且还是类型安全。开发人员利用 C# 能够生成在 .Net 中运行的多重安全可靠的应用程序。
C# 是面向对象的、面向组件的编程语言。其提供了相应的语言构造来直接支持这些概念,让 C# 成为一门非常自然的语言,可以用来创建和使用软件组件。C# 本质上就是面向对象的语言。
2、C# 能做什么?
(1)做游戏
市面上比较流行的两款游戏引擎 U3D 和 UE4。其中基于 U3D 开发的游戏,基本上都是用 C# 语言写得。
(2)Windows 窗体应用程序
(3)Web 服务
(4)客户端-服务器应用程序
(5)移动端应用程序
and so on…
3、.NET 体系结构
所有的编程语言都需要相应的环境,才能够运行。例如,Java 是一门跨平台语言,这是因为它自带 Java 虚拟机,只要配置好,那么就可以在 Windows、Linux等操作系统下运行。C# 也是一样的,需要一个可以承载程序运行的运行环境,而这个运行环境就是 .NET。
一般情况下,Windows 系统中都装有 .NET 环境,这是因为 Windows 中的大部分软件都是基于 C 语言系列开发的,因此需要 .NET 环境来支持运行。所以在 Windows 上安装好相应的软件,就可以开始输出Hello World!
.NET 是名为公共语言运行时(CLR)的虚执行系统和一组类库。
CLR 是微软对公共语言基础结构(CLI)国际标准的实现。
CLI是创建执行和开发环境的基础,语言和库可以在其中无缝地协同工作。
二、输出第一个程序
接下来通过所有学习所有编程语言都要经历的第一步,使用程序,输出Hello World
。通过这一段小小的程序,来了解一下 C# 程序的结构。
using System;
namespace Study001
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
程序输出:
结构解析:
1、以上的 C# 程序包含的部分:
(1)using System;
引用命名空间。
(2)namespace Study001
命名空间声明。
(3)class Program
类。
(4)static void Main(string[] args)
程序运行入口方法。
(5)Console.WriteLine("Hello World!");
程序语句。
2、各部分解析(经过尝试的)
下面的一个程序即对应图中的一个红框。
(1)一个程序中可以拥有多个 using
语句。有点类似于 Python 语言中的 import,导入相应命名空间,就可以使用该命名空间中的类型。
(2)一个程序中可以使用多个 namespace
来命名多个命名空间。
(3)一个程序中可以声明多个类。
using System;
namespace Study001
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("I am king!");
}
}
class ClassTwo
{
static void printwho()
{
Console.WriteLine("我是属于ClassTwo");
}
}
}
namespace Study002
{
class ClassThree
{
static void printme()
{
Console.WriteLine("我是属于ClassThree");
}
}
}
以上程序可以成功输出结果:
(4)一个程序中只能有一个 Main 主方法。如果定义了多个主方法,会产生以下编译错误。
三、总结
C# 学习系列的第一篇文章就到此结束了。在这个学习过程中,对于笔者而言,有收获,但同时也有疑虑。
例如:
(1)一个程序中既然可以有多个命名空间和类,那么如何将它们联系在一起?
(2)一个程序中命名多个命名空间和类,这样的操作值得推荐吗?