C#的成員常量

讓我們再看一個成員常量的聲明例子class A{ public const double X=1.0; public const double Y=2.0; public const double Z=3.0;}關鍵字const用於聲明常量,後跟資料類型的聲明。類的常量可以加上以下修飾符:●new●public●protected●internal●private可以用一條語句同時聲明多個常量,比如上例我們可以寫成:class A{ public const double X=1.0,

C#中的靜態成員和非靜態成員

若將類中的某個成員聲明為static,該成員稱為靜態成員。類中的成員要麼是靜態,要麼是非靜態。一般說來,靜態成員是屬於類所有的,非靜態成員則屬於類的執行個體--對象。以下範例程式碼示範了如何聲明靜態和非靜態成員。程式清單10-5:using System;class Test{ int x; static int y; void F(){ x=1; //正確,等價於this.x=1 y=1; //正確,等價於Test.y=1 } static void G(){

C#的this保留字

保留字this僅限於在建構函式、類的方法和類的執行個體中使用,它有以下含義:●在類的建構函式中出現的this作為一個實值型別,它表示對正在構造的對象本身的引用。●在類的方法中出現的this作為一個實值型別,它表示對調用該方法的對象的引用。●在結構的建構函式中出現的this作為一個變數類型,它表示對正在構造的結構的引用。●在結構的方法中出現的this作為一個變數類型,它表示對調用該方法的結構的引用。除此之外,在其它地方使用this保留字都是不合法的。下面的代碼示範了如何使用this保留字。程式清單

C#中對類的成員的訪問

在編寫程式時,我們可以對類的成員使用不同的存取修飾詞,從而定義它們的存取層級。公有成員C#中的公有成員提供了類的外部介面,允許類的使用者從外部進行訪問。公有成員的修飾符為public,這是限制最少的一種訪問方式。私人成員C#中的私人成員僅限於類中的成員可以訪問,從類的外部存取私人成員是不合法的。如果在聲明中沒有出現成員的存取修飾詞,按照預設成員為私人的。私人成員的修飾符為private。保護成員為了方便衍生類別的訪問,又希望成員對於外界是隱藏的,這時可以使用protected修飾符,聲明成員為保

C#中類的聲明

類的聲明格式如下:attributes class-modifiers class identifier class-base

C#的流程式控制制

到目前為止,我們的程式還只能按照編寫的順序執行,中途不能發生任何變化。然而,實際生活中並非所有的事情都是按部就班地進行,程式也是一樣。為了適應自己的需要,我們經常必須要轉移或者改變程式執行的順序,達到這些目的的語句叫做流程式控制制語句。和大多數程式設計語言相似,在程式模組中,C#可以通過條件陳述式控製程序的流程,從而形成程式的分支和迴圈。C#中提供了以下控制關鍵字:●選擇控制:if、else、switch、case●迴圈控制:while、do、for、foreach●跳躍陳述式:break、co

C#的異常處理語句

在編寫程式時,不僅要關心程式的正常操作,也應該把握在現實世界中可能發生的各類不可預期的事件。比如使用者錯誤的輸入、記憶體不夠、磁碟出錯、網路資源不可用、資料庫無法使用等。在程式中經常採用異常處理方法來解決這類現實問題。C#中的異常處理提供了一種處理系統級錯誤和應用程式級錯誤的結構化的、統一的、型別安全的方法。C#的異常機制與C++非常相似,除了以下幾點不同之外:●在C#裡,所有異常都表現為一個類的執行個體,這個類繼承自System.Exception類。而在C++中,任何類型的任何值都可以表示異

C#中如何處理異常

throw語句在學習如何處理異常之前,我們先介紹一下throw語句。throw語句拋出一個異常:throw

C#中對於溢出的處理

大家知道,電腦進行數學計算時,往往會出現計算結果超出這個結果所屬類型的範圍的情況,這種現象我們稱為溢出。C#中,對於溢出的處理有兩種選擇:(1).你可以通過調整編譯器的選項來檢測整個程式。(2).你可以聲明可能發生溢出的模組,進行局部檢測。如果你選擇第一種方案,即打算在整個程式中控制溢出檢測,可以選中C#編譯器設定面板中的Checked選項(checked+)。如果不希望溢出檢測作用於整個程式,我們可以使用局部檢測的方案。利用檢測語句可以很容易做到。checked和unchecked語句就是用來

C#的錯誤和警告資訊指令

先行編譯和條件編譯指令可以協助我們在程式執行過程中發出編譯的錯誤或警告,相應的指令是#warning和#error,下面的程式展示了它們的用法。程式清單8-7:#define DEBUG#define RELEASE#define DEMO VERSION#if DEMO VERSION && !DEBUG #warning you are building a demo version#endif#if DEBUG && DEMO VERSION

C#的繼承機制

14.1.1

C#的事件和索引指標

事件為類和類的執行個體提供了向外界發送通知的能力,而索引指標則可以象數組那樣對對象進行索引訪問。在C和C++中,沒有事件和索引指標的概念,它們是在C#中首次提出的。13.1 C#的事件(event)13.2 索引指標索引指標(indexer)可以象數組那樣對對象使用下標。它為我們提供了通過索引方式方便地訪問類的資料資訊的方法。13.2.1 C#索引指標的聲明13.2.2

C#索引指標的聲明

還是讓我們先來看一下索引指標的聲明格式:attributes indexer-modifiers indexer-declarator{accessor-declarations}索引指標可以使用的修飾符indexer-modifier有:●new●public●protected●internal●private●virtual●sealed

C#的事件(event)

形象的說,事件(event)就是類或對象用來“發出通知”的成員。通過提供事件的控制代碼,客戶能夠把事件和可執行代碼聯絡在一起。讓我們一起先來看一個事件的例子。如果你熟悉MFC的話,理解這個例子應該不會很難。程式清單13-1:public delegate void EventHandler(object sender,EventArgs e);public class Button:Control{ public event EventHandler Click;

C#事件的聲明

事件的聲明格式:attributes event-modifiers event type variable-declarators; attributes event-modifiers event type member-name

C#中的屬性

屬性是對現實世界中實體特徵的抽象,它提供了對類或對象性質的訪問。比如,一個使用者的姓名、一個檔案的大小、一個視窗的標題,都可以作為屬性。類的屬性所描述的是狀態的資訊,在類的某個執行個體中屬性的值表示該對象的狀態值。C#中的屬性更充分地體現了對象的封裝性:不直接操作類的資料內容,而是通過訪問器進行訪問。它藉助於get和set對屬性的值進行讀寫,這在C++中是需要程式員手工完成的一項工作。12.2.1 C#屬性的聲明C#的屬性採用如下方式進行聲明:attributes

C#域的初始化

注意:在C和C++中,未經初始化的變數是不能使用的。在C#中,系統將為每個未經初始化的變數提供一個預設值。這雖然中某種程式中保證了程式的安全性,但對本應初始化為某個特殊值的變數忘記了初始化,也常常會導致程式的執行誤入岐途。對於靜態變數、非靜態物件變數和陣列變數,這些變數自動初始化為本身的預設值。對於所有參考型別的變數,預設值為null。所有實值型別的變數的預設值見下表所示:表12-1 部分類型的域初始化的值 變數類型 預設值

C#的唯讀域

域的聲明中如果加上了readonly修飾符,表明該域為唯讀域。對於唯讀域我們只能在域的定義中和它所屬的建構函式中進行修改,在其它情況下,域是“唯讀”的。熟悉c和C++的程式員可能習慣了使用const和#define定義一些容易記住的名字來表示某個數值。static和readonly修飾符可以起到同樣的效果:public class A{ public static readonly double PI=3.14159; public static readonly

C#的靜態域和非靜態域

靜態域的聲明是使用static修飾符,其它的域都是非靜態域。靜態域和非靜態域分別屬於C#中靜態變數和非靜態變數。若將一個域說明為靜態,無論建立多少個該類的執行個體,記憶體中只存在一個待用資料的拷貝。當這個類的第一個執行個體建立時,域被初始化。以後再進行類的執行個體化時,不再對其進行初始化,所有屬於這個類的執行個體共用一個副本。與之相反,非靜態域在類的每次執行個體化時,每個執行個體都擁有一份單獨的拷貝。下面的例子清楚地反映了二者之間的區別。程式清單12-1:using System;public

C#的方法

在面向過程的語言如C語言中,資料和對資料的操作通常分為兩部分。在C++語言中,大多數資料成為類的資料成員,而大多數對資料的操作放在了類的成員方法中。C#實現了完全意義上的物件導向:任何事物都必須封裝在類中,或者作為類的執行個體成員---沒有全域常數、全域變數,也沒有全域方法。11.1 C#方法的聲明11.2 C#方法中的參數11.3 C#靜態和非靜態方法11.4 C#方法的重載11.5 C#操作符重載

總頁數: 4314 1 .... 2910 2911 2912 2913 2914 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.