App下載

C#是什么?可以用來(lái)做什么?

猿友 2020-12-14 15:56:52 瀏覽數(shù) (22577)
反饋

C#簡(jiǎn)介

        C#(讀作“C Sharp”)是一種容易使用不復(fù)雜新型的編程語(yǔ)言,不僅是面向?qū)ο?,它的?lèi)型還安全。C# 源于 C 語(yǔ)言系列,C、C++、Java 和 JavaScript 程序員很快就可以上手使用。C# 是一個(gè)現(xiàn)代的、通用的、面向?qū)ο蟮木幊陶Z(yǔ)言,它是由微軟(Microsoft)開(kāi)發(fā)的,由 Ecma 和 ISO 核準(zhǔn)認(rèn)可的。

        C# 是一種面向?qū)ο蟮恼Z(yǔ)言。不僅僅是這樣,C# 還能進(jìn)一步地支持面向組件的編程。當(dāng)代軟件設(shè)計(jì)越來(lái)越依賴(lài)采用自描述的獨(dú)立功能包形式的軟件組件。此類(lèi)組件的關(guān)鍵特征包括:為編程模型提供屬性、方法和事件;包含提供組件聲明性信息的特性;包含自己的文檔。C# 提供了語(yǔ)言構(gòu)造來(lái)直接支持這些概念,讓 C# 成為一種非常自然的語(yǔ)言,可用于創(chuàng)建和使用軟件組件。

        多項(xiàng) C# 功能有助于構(gòu)造可靠耐用的應(yīng)用程序:垃圾回收可自動(dòng)回收無(wú)法訪問(wèn)的未使用對(duì)象占用的內(nèi)存;異常處理提供了一種結(jié)構(gòu)化的可擴(kuò)展方法來(lái)執(zhí)行錯(cuò)誤檢測(cè)和恢復(fù);C# 語(yǔ)言的類(lèi)型安全設(shè)計(jì)禁止讀取未初始化的變量、為范圍之外的數(shù)組編制索引或執(zhí)行未檢查的類(lèi)型轉(zhuǎn)換。

        C# 采用統(tǒng)一的類(lèi)型系統(tǒng)。所有 C# 類(lèi)型(包括 int 和 double 等基元類(lèi)型)均繼承自一個(gè)根 object 類(lèi)型。因此,所有類(lèi)型共用一組通用運(yùn)算,任何類(lèi)型的值都可以一致地進(jìn)行存儲(chǔ)、傳輸和處理。此外,C# 還支持用戶(hù)定義的引用類(lèi)型和值類(lèi)型,從而支持對(duì)象動(dòng)態(tài)分配以及輕量級(jí)結(jié)構(gòu)的內(nèi)嵌式存儲(chǔ)。

        為了確保 C# 程序和庫(kù)能夠隨著時(shí)間的推移以兼容的方式發(fā)展,C# 設(shè)計(jì)更強(qiáng)調(diào)版本控制。許多編程語(yǔ)言很少關(guān)注這個(gè)問(wèn)題,因此,當(dāng)引入新版依賴(lài)庫(kù)時(shí),用這些語(yǔ)言編寫(xiě)的程序會(huì)出現(xiàn)更多不必要的中斷現(xiàn)象。由于更強(qiáng)調(diào)版本控制,直接受影響的 C# 設(shè)計(jì)方面包括單獨(dú)的 virtual 和 override 修飾符、關(guān)于方法重載決策的規(guī)則,以及對(duì)顯式接口成員聲明的支持。

Hello world

“Hello, World”程序歷來(lái)都用于介紹編程語(yǔ)言。下面展示了此程序的 C# 代碼:

using System;

class Hello

{

    static void Main()

    {

        Console.WriteLine("Hello, World");

    }

}

C# 源文件的文件擴(kuò)展名通常為 .cs。假設(shè)“Hello, World”程序存儲(chǔ)在文件 hello.cs 中,則可以使用下列命令行編譯此程序:

csc hello.cs

這會(huì)生成 hello.exe 可執(zhí)行程序集。運(yùn)行此應(yīng)用程序生成以下輸出:

Hello, World


編譯 csc 命令實(shí)現(xiàn)的是完整框架,可能并不所有平臺(tái)都適用。

        “Hello, World”程序始于引用 System 命名空間的 using 指令。命名空間提供了一種用于組織 C# 程序和庫(kù)的分層方法。命名空間包含類(lèi)型和其他命名空間。例如,System 命名空間包含許多類(lèi)型(如程序中引用的 Console 類(lèi))和其他許多命名空間(如 IO 和 Collections)。借助引用給定命名空間的 using 指令,可以非限定的方式使用作為相應(yīng)命名空間成員的類(lèi)型。由于使用 using 指令,因此程序可以使用 Console.WriteLine 作為 System.Console.WriteLine 的簡(jiǎn)寫(xiě)。

        “Hello, World”程序聲明的 Hello 類(lèi)只有一個(gè)成員,即 Main 方法。Main 方法是使用靜態(tài)修飾符進(jìn)行聲明。實(shí)例方法可以使用關(guān)鍵字 this 引用特定的封閉對(duì)象實(shí)例,而靜態(tài)方法則可以在不引用特定對(duì)象的情況下運(yùn)行。按照約定,Main 靜態(tài)方法是程序的入口點(diǎn)。

        程序的輸出是由 System 命名空間中 Console 類(lèi)的 WriteLine 方法生成。此類(lèi)由標(biāo)準(zhǔn)類(lèi)庫(kù)提供。默認(rèn)情況下,編譯器會(huì)自動(dòng)引用標(biāo)準(zhǔn)類(lèi)庫(kù)。

        關(guān)于 C#,要介紹的內(nèi)容還有很多。下面各主題概述了 C# 語(yǔ)言元素。通過(guò)這些概述,可以了解 C# 語(yǔ)言所有元素的基本信息,并獲得深入了解 C# 語(yǔ)言元素所需的信息:

C#語(yǔ)言元素

  • 程序結(jié)構(gòu)
    了解 C# 語(yǔ)言中的關(guān)鍵組織概念:程序、命名空間、類(lèi)型、成員和程序集。
  • 類(lèi)型和變量
    了解 C# 語(yǔ)言中的值類(lèi)型、引用類(lèi)型和變量。
  • 表達(dá)式
    表達(dá)式是在操作數(shù)和運(yùn)算符的基礎(chǔ)之上構(gòu)造而成。表達(dá)式生成的是值。
  • 語(yǔ)句
    語(yǔ)句用于表示程序的操作。
  • 類(lèi)和對(duì)象
    類(lèi)是最基本的 C# 類(lèi)型。對(duì)象是類(lèi)實(shí)例。類(lèi)是使用成員生成的,此主題也對(duì)此進(jìn)行了介紹。
  • 結(jié)構(gòu)
    與類(lèi)不同,結(jié)構(gòu)是屬于值類(lèi)型的數(shù)據(jù)結(jié)構(gòu)。
  • 數(shù)組
    數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),其中包含許多通過(guò)計(jì)算索引訪問(wèn)的變量。
  • 接口
    接口定義了可由類(lèi)和結(jié)構(gòu)實(shí)現(xiàn)的協(xié)定。接口可以包含方法、屬性、事件和索引器。接口不提供所定義的成員的實(shí)現(xiàn)代碼,僅指定必須由實(shí)現(xiàn)接口的類(lèi)或結(jié)構(gòu)提供的成員。
  • 枚舉
    枚舉類(lèi)型是包含一組已命名常量的獨(dú)特值類(lèi)型。
  • 委托
    委托類(lèi)型表示對(duì)具有特定參數(shù)列表和返回類(lèi)型的方法的引用。通過(guò)委托,可以將方法視為可分配給變量并可作為參數(shù)傳遞的實(shí)體。委托類(lèi)似于其他一些語(yǔ)言中的函數(shù)指針概念,但與函數(shù)指針不同的是,委托不僅面向?qū)ο?,還類(lèi)型安全。
  • 特性
    使用特性,程序可以指定關(guān)于類(lèi)型、成員和其他實(shí)體的附加聲明性信息。

想要學(xué)習(xí)C#需要更多的時(shí)間和精力,小編總結(jié)了非常好的C#教程,可供讀者參考


C#

1 人點(diǎn)贊