C# -- 結構、訪問修飾符 1. 結構: struct 類型 對於結構,不像類那樣存在繼承。 一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。 但是,結構從基類 Object 繼承。 結構可實現介面,其方式同類完全一樣。無法使用 struct 關鍵字聲明類。 在 C# 中,類與結構在語義 ...
C# -- 結構、訪問修飾符
1. 結構: struct 類型
對於結構,不像類那樣存在繼承。 一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。 但是,結構從基類 Object 繼承。 結構可實現介面,其方式同類完全一樣。
無法使用 struct 關鍵字聲明類。 在 C# 中,類與結構在語義上是不同的。 結構是值類型,而類是引用類型。
將較小的類聲明為結構,可以提高系統的處理效率。
class Program { static void Main(string[] args) { myPoint p1 = new myPoint(2, 3, 4); Console.WriteLine("X軸位置:{0}\r\nY軸位置:{1}\r\nZ軸位置:{2}",p1.x,p1.y,p1.z); Console.ReadKey(); } } public struct myPoint { public int x, y, z; public myPoint(int xValue,int yValue,int zValue) { x = xValue; y = yValue; z = zValue; } }
2. 訪問修飾符
所有類型和類型成員都具有可訪問性級別,用來控制是否可以在您程式集的其他代碼中或其他程式集中使用它們。 可使用一下訪問修飾符指定聲明類型或成員時類型或成員的可訪問性。
public
同一程式集中的任何其他代碼或引用該程式集的其他程式集都可以訪問該類型或成員。
private
只有同一類或結構中的代碼可以訪問該類型或成員。
protected
只有同一類或結構或者此類的派生類中的代碼才可以訪問的類型或成員。
internal
同一程式集中的任何代碼都可以訪問該類型或成員,但其他程式集中的代碼不可以。
protected internal
由其聲明的程式集或另一個程式集派生的類中任何代碼都可訪問的類型或成員。 從另一個程式集進行訪問必須在類聲明中發生,該類聲明派生自其中聲明受保護的內部元素的類,並且必須通過派生的類類型的實例發生。