程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C# 結構(很少能用到)

C# 結構(很少能用到)

編輯:關於C#
 

結構示例


public struct Person
{
string Name;
int height;
int weight

public bool overWeight()
{
//implement something

}
}

類示例

public class TestTime
{
int hours;
int minutes;
int seconds;

public void passtime()
{
//implementation of behavior
}
}

調用過程

public class Test
{
public static ovid Main
{
Person Myperson=new Person //聲明結構
TestTime Mytime=New TestTime //聲明類
}
}

從上面的例子中我們可以看到,類的聲明和結構的聲明非常類似,只是限定符後面是 struct 還是 class 的區別,而且使用時,定義新的結構和定義新的類的方法也非常類似。那麼類和結構的具體區別是什麼呢?

結構可以看作是輕量級的類,在性能上要好一點。

相同之處:

· 結構和類對於程序來講都通過指針操作,同樣是面向對象的形式。

不同之處:

· 結構體對象總是在線程堆棧上操作,而不是托管堆上。

· 不能繼承一個結構體(所以在調用結構體的方法時不需要查找 vtable: 虛函數繼承表)

· 我們不能聲明構造函數為空的結構體

· 結構體的構造函數內必須初始化所有變量

· 結構體的字段不能有默認值(默認都是二進制意義上的零值),但是可以在構造函數內改變“默認值”

小結:結構可用於表示相互聯系的數據。
可以通過句點字符訪問結構的數據成員。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved