C# 编程语言学习系列(一)

2021-12-06 15:36:17 浏览数 (3058)

学习任何知识之前,不妨先问问自己学这个知识的目的是为了什么?有了既定的目的,那么学习起来才会充满干劲。

笔者学习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)一个程序中命名多个命名空间和类,这样的操作值得推荐吗?