App下載

C# 編程語言學(xué)習(xí)系列(一)

玹三小角 2021-12-06 15:36:17 瀏覽數(shù) (2778)
反饋

學(xué)習(xí)任何知識之前,不妨先問問自己學(xué)這個知識的目的是為了什么?有了既定的目的,那么學(xué)習(xí)起來才會充滿干勁。

筆者學(xué)習(xí)C#的目的,一是為了擁有一個屬于自己的游戲,二是提升自己的多元能力。

OK,接下來就開啟學(xué)習(xí)C#之路?。▋?nèi)容中也許因為了解不多,多少存在一些錯誤,還請大家多多指正!)

一、C# 基本概述

1、C# 是什么?

C# (讀作?See Sharp?)是由 C/C++ 衍生出來的一門新式編程語言,不僅面向?qū)ο?,而且還是類型安全。開發(fā)人員利用 C# 能夠生成在 .Net 中運行的多重安全可靠的應(yīng)用程序。

C# 是面向?qū)ο蟮摹⒚嫦蚪M件的編程語言。其提供了相應(yīng)的語言構(gòu)造來直接支持這些概念,讓 C# 成為一門非常自然的語言,可以用來創(chuàng)建和使用軟件組件。C# 本質(zhì)上就是面向?qū)ο蟮恼Z言。

2、C# 能做什么?

(1)做游戲

市面上比較流行的兩款游戲引擎 U3D 和 UE4。其中基于 U3D 開發(fā)的游戲,基本上都是用 C# 語言寫得。

(2)Windows 窗體應(yīng)用程序

(3)Web 服務(wù)

(4)客戶端-服務(wù)器應(yīng)用程序

(5)移動端應(yīng)用程序

and so on…

3、.NET 體系結(jié)構(gòu)

所有的編程語言都需要相應(yīng)的環(huán)境,才能夠運行。例如,Java 是一門跨平臺語言,這是因為它自帶 Java 虛擬機(jī),只要配置好,那么就可以在 Windows、Linux等操作系統(tǒng)下運行。C# 也是一樣的,需要一個可以承載程序運行的運行環(huán)境,而這個運行環(huán)境就是 .NET。

一般情況下,Windows 系統(tǒng)中都裝有 .NET 環(huán)境,這是因為 Windows 中的大部分軟件都是基于 C 語言系列開發(fā)的,因此需要 .NET 環(huán)境來支持運行。所以在 Windows 上安裝好相應(yīng)的軟件,就可以開始輸出?Hello World!?

.NET 是名為公共語言運行時(CLR)的虛執(zhí)行系統(tǒng)和一組類庫。

CLR 是微軟對公共語言基礎(chǔ)結(jié)構(gòu)(CLI)國際標(biāo)準(zhǔn)的實現(xiàn)。

CLI是創(chuàng)建執(zhí)行和開發(fā)環(huán)境的基礎(chǔ),語言和庫可以在其中無縫地協(xié)同工作。

二、輸出第一個程序

接下來通過所有學(xué)習(xí)所有編程語言都要經(jīng)歷的第一步,使用程序,輸出?Hello World?。通過這一段小小的程序,來了解一下 C# 程序的結(jié)構(gòu)。

using System;

namespace Study001
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

程序輸出:

在這里插入圖片描述

結(jié)構(gòu)解析:

1、以上的 C# 程序包含的部分:

(1)?using System;? 引用命名空間。

(2)?namespace Study001命名空間聲明。

(3)?class Program? 類。

(4)?static void Main(string[] args) ?程序運行入口方法。

(5)?Console.WriteLine("Hello World!");? 程序語句。

2、各部分解析(經(jīng)過嘗試的)

在這里插入圖片描述

下面的一個程序即對應(yīng)圖中的一個紅框。

(1)一個程序中可以擁有多個 ?using? 語句。有點類似于 Python 語言中的 import,導(dǎo)入相應(yīng)命名空間,就可以使用該命名空間中的類型。

(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");
        }
    }
}

以上程序可以成功輸出結(jié)果:

在這里插入圖片描述

(4)一個程序中只能有一個 Main 主方法。如果定義了多個主方法,會產(chǎn)生以下編譯錯誤。

在這里插入圖片描述

三、總結(jié)

C# 學(xué)習(xí)系列的第一篇文章就到此結(jié)束了。在這個學(xué)習(xí)過程中,對于筆者而言,有收獲,但同時也有疑慮。

例如:

(1)一個程序中既然可以有多個命名空間和類,那么如何將它們聯(lián)系在一起?

(2)一個程序中命名多個命名空間和類,這樣的操作值得推薦嗎?


C#

0 人點贊