(
(
int i=(int)f;
i的值現在是_
using System;
class A
{
public virtual void F(){
Console
}
}
abstract class B:A
{
public abstract override void F();
}
switch (i){
case():
CaseZero();
break;
case
CaseOne();
break;
case
dufault;
CaseTwo();
break;
}
(
A
(
A
A
D
A
B
C
D
a)SQL Server
b)OLE DB
c)ODBC
d)Oracle
a)Web窗體頁的程序的邏輯由代碼組成
b)項目中所有Web窗體頁的代碼隱藏文件都被編譯成
c)項目中所有的Web窗體頁的代碼隱藏文件都被編譯成項目動態鏈接庫(
d)以上都不正確
a)在C++中支持抽象類而在C#中不支持抽象類
b)C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員
c)在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員
d)在C#中要在派生類中重新定義基類的虛函數必須在前面加Override
a)值類型和調用類型
a)類不可以多重繼承而接口可以
b)抽象類自身可以定義成員而接口不可以
c)抽象類和接口都不能被實例化
d)一個類可以有多個基類和多個基接口
a)save方法 b)load方法 c)loadXML方法 d)send方法
a)構造函數可以聲明返回類型
b)構造函數不可以用private修飾
c)構造函數必須與類名相同
d)構造函數不能帶參數
a)public enum var
b)public enum var
c)public enum var
d)public enum var
a)
a)方法
a)HTML控件和Web控件 b)HTML控件和XML控件 c)XML控件和Web控件 d)HTML控件和IIS控件
a)<%@Register TagPrefix =
b)<%@Register TagPrefix =
c)<%@Register TagPrefix =
d)以上皆非
a)insert
b)ExecuteNonQuery()方法返回執行Sql語句所影響的行數
c)Select操作的Sql語句只能由ExecuteReader()方法來執行
d)ExecuteReader()方法返回一個DataReder對象
a)SqlConnection con
b)SqlConnection con
c)SqlConnection con
d)SqlConnection con
a)Buttons屬性表示ToolBar控件的所有工具欄按鈕
b)ButtonSize屬性表示ToolBar控件上的工具欄按鈕的大小
c)DropDownArrows屬性表明工具欄按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下箭頭鍵
d)ButtonClick事件在用戶單擊工具欄任何地方時都會觸發
a)大小
a)窗體沒有邊框並不能調整大小
c)窗體有邊框但不能調整大小
a)要將FormBoderStyle屬性設置為None
c)要將locked 屬性設置為True
a)索引器的參數必須是兩個或兩個以上 b)索引器的參數類型必須是整數型
c)索引器沒有名字 d)以上皆非
a)窗體也是控件
a)System
c)System
a)DrawGrid
a)TreeNode
b)int
c)string
d)TreeView
a)XML提供一種描述結構化數據的方法
b)XML 是一種簡單
c)XML文檔可承載各種信息
d)XML只是為了生成結構化文檔
A
C
A
C
A
C
A
C
A
A
C
A
C
try
{
}
catch(FileNotFoundException e
{
}
catch(Exception e
{
}
catch(IOException e
{
}
catch
{
}
A
D
A
如果要操作一個不斷增長的字符串
A
二
A
F
A
B
C
D
A
{
private static int count =
static Class
{
count++;
}
public Class
{
count++;
}
}
Class
Class
請問
A
{
public virtual void MethodA()
{
}
public virtual void MethodB()
{
}
}
class Class
{
public void MethodA(string arg)
{
}
public override void MethodB()
{
}
}
class Class
{
new public void MethodB()
{
}
}
class MainClass
{
public static void Main(string[] args)
{
Class
Console
}
}
請問
A
C
屬性 索引器
通過名稱標識
通過簡單名稱或成員訪問來訪問
可以為靜態成員或實例成員
屬性的 get 訪問器沒有參數
屬性的 set 訪問器包含隱式 value 參數
每一個class至多只可以定義一個static構造函數
為了不違背編碼規則
const 關鍵字用於修改字段或局部變量的聲明
const數據成員的聲明式必須包含初值
const成員可以使用另一個const成員來初始化
readonly在運行期評估賦值
readonly 關鍵字與 const 關鍵字不同
readonly 只能在聲明時或者構造函數裡面初始化
所有的用戶都存在於AllWin這個域中
a
b
請問您應該使用以下哪一個代碼段來配置這個應用程序?( A )
A
<deny users=
<allow users=
<deny users=
</authorization>
B
<allow users=
<deny users=
<deny users=
</authorization>
C
<deny users=
<deny users=
<allow users=
</authorization>
D
<allow users=
<allow users=
</authorization>
E
<allow users=
<deny users=
</authorization>
A
B
C
D
A
B
C
D
E
F
A
B
C
D
A
B
C
D
A
B
C
D
///<summary>
///應用程序的主入口點
///</summary>
[STAThread]
staticvoid Main()
{
//防止程序多次運行
if(!OneInstance
{
MessageBox
return;
}
Application
}
// ******************* 防止程序多次執行 **************************
publicabstractclass OneInstance
{
///<summary>
///判斷程序是否正在運行
///</summary>
///<param name=
///<returns>如果程序是第一次運行返回True
publicstaticbool IsFirst(string appId)
{
bool ret=false;
if(OpenMutex(
{
CreateMutex(IntPtr
ret=true;
}
return ret;
}
[DllImport(
privatestaticextern IntPtr OpenMutex(
uint dwDesiredAccess
int bInheritHandle
string lpName // object name
);
[DllImport(
privatestaticextern IntPtr CreateMutex(
IntPtr lpMutexAttributes
int bInitialOwner
string lpName // object name
);
}
private : 私有成員
select top
解
session(viewstate) 簡單
application 全局
cookie 簡單
input ttype=
url參數簡單
數據庫穩定
Override用來重寫父類的方法
4、C#中接口和類的異同
接口和類都是類,不同的事,接口只包含方法或屬性的聲明,不包含具體實現方法的代碼,接口可以實現多繼承,而類只能是單繼承,繼承接口的類必須實現接口中聲明的方法或屬性。接口主要定義一種規范,統一調用方法,在大型項目中接口正發揮日益重要的作用。
4、DataReader和DataSet的異同
DataReader和DataSet最大的區別在於,DataReader使用時始終占用SqlConnection,在線操作數據庫..任何對SqlConnection的操作都會引發DataReader的異常..因為DataReader每次只在內存中加載一條數據,所以占用的內存是很小的..因為DataReader的特殊性和高性能.所以DataReader是只進的..你讀了第一條後就不能再去讀取第一條了..
DataSet則是將數據一次性加載在內存中.拋棄數據庫連接..讀取完畢即放棄數據庫連接..因為DataSet將數據全部加載在內存中.所以比較消耗內存...但是確比DataReader要靈活..可以動態的添加行,列,數據.對數據庫進行回傳更新操作...
1. 在c#中using和new這兩個關鍵字有什麼意義,請寫出你所知道的意義?
Using 引入一個名子空間,或在使用了一個對像後自動調用其IDespose,New 實例化一個對像,或修飾一個方法,表此方法完全重寫此方法
2.在下面的例子裡
using System;
class A
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
當使用new B()創建B的實例時,產生什麼輸出?X=1,Y=0
3.下面的例子中
using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
產生的輸出結果是什麼?x=1,y=2
4.談談類和結構的區別?
最大區別一個是引用類型,一個是值類型 默認成員訪問為public是另外一個區別
1. (C# or )中如何獲得當前窗體或控件的句柄,特別是控件本身的句柄(請列舉)。
this(C#) Me().
2(C# or )中如何用戶自定義消息,並在窗體中處理這些消息。
在form中重載DefWndProc函數來處理消息:
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton :
///string與MFC中的CString的Format函數的使用方法有所不同
string message = string.Format("收到消息!參數為:{0},{1}",m.wParam,m.lParam);
MessageBox.Show(message);///顯示一個消息框
break;
case USER:
處理的代碼
default:
base.DefWndProc(ref m);///調用基類函數處理非自定義消息。
break;
}
}
3. (C# or )如何啟動另一個程序。process
4. (C# or )中如何取消一個窗體的關閉
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel=true;
}
5. (C# or )中,Appplication.Exit 還是 Form.Close有什麼不同?
答案:一個是退出整個應用程序,一個是關閉其中一個form
6. 在C#中有一個double型的變量,比如10321.5,比如122235401.21644,作為貨幣的值如何按各個不同國家的習慣來輸出。比如美國用$10,321.50和$122,235,401.22而在英國則為£10 321.50和£122 235 401.22
答案:
System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");
//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");為英國貨幣類型
decimal y = 9999999999999999999999999999m;
string str = String.Format(MyCulture,"My amount = {0:c}",y);
7. 某一密碼僅使用K、L、M、N、O共5個字母,密碼中的單詞從左向右排列,密碼單詞必須遵循如下規則:
(1) 密碼單詞的最小長度是兩個字母,可以相同,也可以不同
(2) K不可能是單詞的第一個字母
(3) 如果L出現,則出現次數不止一次
(4) M不能使最後一個也不能是倒數第二個字母
(5) K出現,則N就一定出現
(6) O如果是最後一個字母,則L一定出現
問題一:下列哪一個字母可以放在LO中的O後面,形成一個3個字母的密碼單詞?
A) K B)L C) M D) N
答案:B
問題二:如果能得到的字母是K、L、M,那麼能夠形成的兩個字母長的密碼單詞的總數是多少?
A)1個 B)3個 C)6個 D)9個
答案:A
問題三:下列哪一個是單詞密碼?
A) KLLN B) LOML C) MLLO D)NMKO
答案:C
8. 62-63=1 等式不成立,請移動一個數字(不可以移動減號和等於號),使得等式成立,如何移動?
答案:62移動成2的6次方
new有幾種用法
第一種:new Class();
第二種:覆蓋方法
public new XXXX(){}
第三種:new 約束指定泛型類聲明中的任何類型參數都必須有公共的無參數構造函數。
2.如何把一個array復制到arrayList裡
foreach( object o in array )arrayList.Add(o);
3.datagrid.datasouse可以連接什麼數據源 [dataset,datatable,dataview]
dataset,datatable,dataview , IList
4.概述反射和序列化
反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態地創建類型的實例,將類型綁定到現有對象,或從現有對象中獲取類型。然後,可以調用類型的方法或訪問其字段和屬性
序列化:序列化是將對象轉換為容易傳輸的格式的過程。例如,可以序列化一個對象,然後使用 HTTP 通過 Internet 在客戶端和服務器之間傳輸該對象。在另一端,反序列化將從該流重新構造對象。
5.概述o/r mapping 的原理
利用反射,配置 將類於數據庫表映射
7.用sealed修飾的類有什麼特點
sealed 修飾符用於防止從所修飾的類派生出其它類。如果一個密封類被指定為其它類的基類,則會發生編譯時錯誤。
密封類不能同時為抽象類。
sealed 修飾符主要用於防止非有意的派生,但是它還能促使某些運行時優化。具體說來,由於密封類永遠不會有任何派生類,所以對密封類的實例的虛擬函數成員的調用可以轉換為非虛擬調用來處理。
11.詳述.NET裡class和struct的異同!
class:放在 ? struct放在?
struct值傳遞
類與結構有很多相似之處:結構可以實現接口,並且可以具有與類相同的成員類型。然而,結構在幾個重要方面不同於類:結構為值類型而不是引用類型,並且結構不支持繼承。結構的值存儲在“在堆棧上”或“內聯”。細心的程序員有時可以通過聰明地使用結構來增強性能。
12.概述.NET裡對 remoting 和 webservice 兩項技術的理解和實際中的應用。
遠程邏輯調用,remoing接口只能用中
13.什麼是code-behind技術 aspx and cs
14.概述三層結構體系 web/business/dataaccess
如何實現MVC模式,舉例說明! web/business/dataaccess
2.什麼是中的用戶控件
答:用戶控件就是.ascx擴展名的東西喽,可以拖到不同的頁面中調用,以節省代碼.比如登陸可能在多個頁面上有,就可以做成用戶控件,但是有一個問題就是用戶控件拖到不同級別的目錄下後裡面的圖片等的相對路徑會變得不准確,需要自已寫方法調整.
3.什麼叫應用程序域?什麼是受管制的代碼?什麼是強類型系統?什麼是裝箱和拆箱?什麼是重載?CTS、CLS和CLR分別作何解釋?
答:裝箱就是把值類型轉成引用類型,從MS IL角度看好像是boxing,沒記錯的話是把值從堆棧轉到堆中.拆箱相反,重載就是指一個方法名同,參數個數不同,返回值可以相同的方法.CLR是通用語言運行時,其它的不清楚.
4.列舉一下你所了解的XML技術及其應用
答:XML可是好東西,保存配置,站與站之間的交流,WEB SERVICE都要用它.
5.值類型和引用類型的區別?寫出C#的樣例代碼。
答:結構是值類型,類是引用類型,所以傳結構就是值類型的應用啦,傳對象或類就是引用類型的,這個不用多寫了吧.
中常用的對象有哪些?分別描述一下。
答:connection command sqladapter dataset datatable dataview等等.寫不完了.
7.如何理解委托?
答:據說相當於函數指針,定義了委托就可以在不調用原方法名稱的情況下調用那個方法.
msdn2005中是這樣解釋的:
委托具有以下特點:
委托類似於 C++ 函數指針,但它是類型安全的。
委托允許將方法作為參數進行傳遞。
委托可用於定義回調方法。
委托可以鏈接在一起;例如,可以對一個事件調用多個方法。
方法不需要與委托簽名精確匹配。有關更多信息,請參見協變和逆變。
C# 2.0 版引入了匿名方法的概念,此類方法允許將代碼塊作為參數傳遞,以代替單獨定義的方法。
8.C#中的接口和類有什麼異同。
答:接口是負責功能的定義,項目中通過接口來規范類,操作類以及抽象類的概念!
而類是負責功能的具體實現!
在類中也有抽象類的定義,抽象類與接口的區別在於:
抽象類是一個不完全的類,類裡面有抽象的方法,屬性,也可以有具體的方法和屬性,需要進一步的專業化。
但接口是一個行為的規范,裡面的所有東西都是抽象的!
一個類只可以繼承一個基類也就是父類,但可以實現多個接口
9.。net中讀寫數據庫需要用到哪些類?他們的作用
答:這個類自已可以寫的啊,你是指基類嗎?那configuration,sqlconnection,sqlcommand等都要用到.
10.UDP連接和TCP連接的異同。
答:前者只管傳,不管數據到不到,無須建立連接.後者保證傳輸的數據准確,須要連結.
的身份驗證方式有哪些?分別是什麼原理?
答:form認證,windows集成認證等,原理不清楚.
13.什麼是code-Behind技術。
答:代碼分離,這是個明智的東西,像ASP這樣混成一堆很不爽.或者可以理解成HTML代碼寫在前台,C#代碼寫在後台.當然前台也有腳本,類的調用等,其實寫在一起也是可以的.
中讀寫XML的類都歸屬於哪些命名空間?
答:System.Xml
16.解釋一下UDDI、WSDL的意義及其作用。
答:
17.什麼是SOAP,有哪些應用。
答:SOAP(Simple Object Access Protocol )簡單對象訪問協議是在分散或分布式的環境中交換信息並執行遠程過程調用的協議,是一個基於XML的協議。使用SOAP,不用考慮任何特定的傳輸協議(最常用的還是HTTP協議),可以允許任何類型的對象或代碼,在任何平台上,以任何一直語言相互通信。這種相互通信采用的是XML格式的消息,具體請看:
20.常用的調用webservice方法有哪些?
答:
可以從浏覽器、ASP頁或其他WEB服務調用可以使用HTTP-GET HTTP-POST訪問WEB服務也可以從ASP頁或其他WEB服務向其他WEB服務發出SOAP請求HTTP-GET HTTP-POST SOAP 使用WEB服務代理
6. 私有程序集與共享程序集有什麼區別?
一個私有程序集通常為單個應用程序所使用,並且存儲於這個應用程序所在的目錄之中,或此目錄下面的一個子目錄中。共享程序集通常存儲在全局程序集緩存(Global Assembly Cache)之中,這是一個由.NET運行時所維護的程序集倉庫。共享程序集通常是對許多應用程序都有用的代碼庫,比如.NET Framework類。
7. 請解釋進程與線程的區別?進程與程序的區別?
一般,一個應用程序對應於一個或多個進程,可以把進程看作是該應用程序在*作系統中的標識;而一個進程通常由多個線程組成,而線程是*作系統為該應用程序分配處理時間的最小單元。
8. CLR與IL分別是什麼含義?
CLR:公共語言運行時,類似於Java中的JVM,Java虛擬機;在.Net環境下,各種編程語言使用一種共同的基礎資源環境,這就是CLR,CLR將直接與*作系統進行通信,而編程語言如C#.NET將盡量避免直接與*作系統直接通信,加強了程序代碼的執行安全性,可以這樣看:CLR就是具體的編程語言如:C#.NET與*作系統之間的翻譯,同時它為具體的編程語言提供了許多資源:
IL,中間語言,也稱MSIL,微軟中間語言,或CIL,通用中間語言;所有.NET源代碼(不管用哪種語言編寫)在進行編譯時都被編譯成IL。在應用程序運行時被即時(Just-In-Time,JIT)編譯器處理成為機器碼,被解釋及執行。
10 .請解釋ASP。NET中以什麼方式進行數據驗證
中有非空驗證,比較驗證,取值范圍驗證,正則表達式驗證及客戶自定義驗證五大控件,另還有一個集中驗證信息處理控件
11. WEB控件可以激發服務端事件,請談談服務端事件是怎麼發生並解釋其原理?自動傳回是什麼?為什麼要使用自動傳回。
在web控件發生事件時,客戶端采用提交的形式將數據交回服務端,服務端先調用Page_Load事件,然後根據傳回的狀態信息自動調用服務端事件自動傳回是當我們在點擊客戶端控件時,采用提交表單的形式將數據直接傳回到務端
只有通過自動傳回才能實現服務端事件的機制,如果沒有自動回傳機制就只能調用客戶端事件,而不能調用服務端事件
12. WEB控件及HTML服務端控件能否調用客戶端方法?如果能,請解釋如何調用?
可以調用
例如:<asp:TextBox id="TextBox1" onclick="clientfunction();" runat="server">
</asp:TextBox>
<INPUT id="Button2" value="Button" name="Button2"
runat="server" onclick="clientfunction();">
13. 請解釋nfig文件中的重要節點
appSettings包含自定義應用程序設置。
system.web 系統配置
compilation動態調試編譯設置
customErrors自定義錯誤信息設置
authentication身份驗證,此節設置應用程序的身份驗證策略。
authorization授權, 此節設置應用程序的授權策略.
14. 請解釋ASP。NET中的web頁面與其隱藏類之間的關系?
一個ASP.NET頁面一般都對應一個隱藏類,一般都在ASP.NET頁面的聲明中指定了隱藏類例如一個頁面Tst1.aspx的頁面聲明如下
<%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inherits="T1.Tst1" %>
Codebehind="Tst1.aspx.cs" 表明經編譯此頁面時使用哪一個代碼文件
Inherits="T1.Tst1" 表用運行時使用哪一個隱藏類
15. 什麼是viewstate,能否禁用?是否所用控件都可以禁用?
Viewstate是保存狀態的一種機制,EnableViewState屬性設置為false即可禁用
16. 當發現不能讀取頁面上的輸入的數據時很有可能是什麼原因造成的?怎麼解決
很有可能是在Page_Load中數據處理時沒有進行Page的IsPostBack屬性判斷
17. 請解釋什麼是上下文對象,在什麼情況下要使用上下文對象
上下文對象是指HttpContext類的Current 屬性,當我們在一個普通類中要訪問內置對象(Response,Request,Session,Server,Appliction等)時就要以使用此對象
18. 請解釋轉發與跳轉的區別?
轉發就是服務端的跳轉A頁面提交數據到B頁面,B頁面進行處理然後從服務端跳轉到其它頁面
跳轉就是指客戶端的跳轉
1.請簡述一下用Socket進行同步通訊編程的詳細步驟
1、在應用程序和遠程設備中使用協議和網絡地址初始化套接字
2、在應用程序中通過指定端口和地址建立監聽
3、遠程設備發出連接請求
4、應用程序接受連接產生通信scoket
5、應用程序和遠程設備開始通訊(在通訊中應用程序將掛起直到通訊結束)
6、通訊結束,關閉應用程序和遠程設備的Socket回收資源
1、在C#中,string str = null 與string str = “” 請盡量使用文字或圖象說明其中的區別。
string str = null 是不給他分配內存空間,而string str = “”給它分配長度為空字符竄的內存空間.
2、請詳述在dotnet中類(class)與結構(struct)的異同:(10分)
Class可以被實例化,屬於引用類型,是分配在內存的堆上的,Struct屬於值類型,是分配在內存的棧上的.
3、根據委托(delegate)的知識,請完成以下用戶控件中代碼片段的填寫:(10)
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
public event OnDBOperate OnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
//請在以下補齊代碼用來調用OnDBOperate委托簽名的OnNew事件。
}
}
}
}
____________________________________________________________________
if( OnNew != null )
OnNew( this, e );
4、分析以下代碼,完成填空(10分)
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代碼執行完後,i= j= i還真的不知道, j=10
5、SQLSERVER服務器中,給定表table1 中有兩個字段ID、LastUpdateDate,ID表示更新的事務號,LastUpdateDate表示更新時的服務器時間,請使用一句SQL語句獲得最後更新的事務號。(10)
select top ID from table1 order by LastUpdateData desc
8、簡要談一下您對微軟.NET 構架下remoting和webservice兩項技術的理解以及實際中的應用。(10)
中用來跨越machine, process, appdomain 進行方法調用的技術,對於三成結構的程序,就可以使用remoting技術來構建.它是分布應用的基礎技術.相當於以前的DCOM Web Service是一種構建應用程序的普通模型,並能在所有支持internet網通訊的操作系統上實施。Web Service令基於組件的開發和web的結合達到最佳,基於組件的對象模型
9.什麼叫做SQL注入,如何防止?請舉例說明。
利用sql關鍵字對網站進行攻擊。過濾關鍵字'等
所謂SQL注入(SQL Injection),就是利用程序員對用戶輸入數據的合法性檢測不嚴或不檢測的特點,故意從客戶端提交特殊的代碼,從而收集程序及服務器的信息,從而獲取想得到的資料。
?ID=444 and user>0,這時,服務器運行Select * from 表名 where 字段=444 and user>0這樣的查詢,當然,這個語句是運行不下去的,肯定出錯,錯誤信息如下:
·錯誤類型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]將 nvarchar 值 'sonybb' 轉換為數據類型為 int 的列時發生語法錯誤。
a 產生一個int數組,長度為100,並向其中隨機插入1-100,並且不能重復。
int[] intArr=new int[100];
ArrayList myList=new ArrayList();
Random rnd=new Random();
while(myList.Count<100)
{
int num=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num);
}
for(int i=0;i<100;i++)
intArr[i]=(int)myList[i];
20.請敘述類與結構的區別。
1)、結構是值類型;
2)、結構不支持繼承;
3)、結構不能定義默認的構造函數;
4)、結構不能定義析構函數;
5)、結構不能使用初始值設置域值。
From:http://tw.wingwit.com/Article/program/net/201311/12908.html