免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
C#部分關(guān)鍵字歸納
1、  bool and Boolean different
a)、bool是Boolean的別名. bool是C#中的,Boolean是.net Framework中的
System.Boolean 是 .NET 類庫中的一個類(確切地說是結(jié)構(gòu),struct),是 .NET 各語言通用的。值類型是放在堆棧中(stack),而引用類型是放在堆(heap)中,堆(heap)里的東西是動態(tài)生成,所以會比放在堆棧(stack)中慢。
值類型與引用類型的簡介:
1、 值類型主要由兩類組成
A)、結(jié)構(gòu) b)、枚舉
A)結(jié)構(gòu)包括 數(shù)值類型(整型、浮點型、decimal)、bool型、用戶定義結(jié)構(gòu)
基于值類型的變量直接包含值。將一個值類型變量賦給另一個值類型變量時,將復制包含的值。這與引用類型變量的賦值不同,引用類型變量的賦值只復制對對象的引用,而不復制對象本身。與引用類型不同,從值類型不可能派生出新的類型。但與引用類型相同的是,結(jié)構(gòu)也可以實現(xiàn)接口。與引用類型不同,值類型不可能包含 null 值。然而,可空類型功能允許將 null 賦給值類型。 每種值類型均有一個隱式的默認構(gòu)造函數(shù)來初始化該類型的默認值。
B)、enum 關(guān)鍵字用于聲明枚舉,即一種由一組稱為枚舉數(shù)列表的命名常數(shù)組成的獨特類型enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};//在此枚舉中,強制元素序列從 1 而不是 0 開始
2、引用類型:引用類型的變量又稱為對象,可存儲對實際數(shù)據(jù)的引用。有class,interface and delegate(封裝命名方法或匿名方法,委托類似于 C++ 中的函數(shù)指針;但是,委托是類型安全和可靠的)
3、指針類型:指針類型不繼承 object,并且指針類型與 object 之間不存在轉(zhuǎn)換。此外,裝箱和取消裝箱不支持指針。但是,允許在不同指針類型之間以及指針類型與整型之間進行轉(zhuǎn)換。當在同一個聲明中聲明多個指針時,* 僅與基礎(chǔ)類型一起使用,而不是作為每個指針名稱的前綴。如:int* p1,p2,p3;//OK  int *p1,*p2,*p3;//Invalidate in C#   指針類型 僅在unsafe模式下可用。
內(nèi)置 C# 類型的關(guān)鍵字,這些類型是 System 命名空間中的預定義類型的別名
C# 類型
.NET Framework 類型
bool
System.Boolean
byte
System.Byte
sbyte
System.SByte
char
System.Char
decimal
System.Decimal
double
System.Double
float
System.Single
int
System.Int32
uint
System.UInt32
long
System.Int64
ulong
System.UInt64
object
System.Object
short
System.Int16
ushort
System.UInt16
string
System.String
除了 object 和 string 外,表中的所有類型均稱為簡單類型。
字符串格式化:
C 或 c
貨幣
Console.Write("{0:C}", 2.5);
Console.Write("{0:C}", -2.5);
$2.50
($2.50)
D 或 d
十進制數(shù)
Console.Write("{0:D5}", 25);
00025
E 或 e
科學型
Console.Write("{0:E}", 250000);
2.500000E+005
F 或 f
固定點
Console.Write("{0:F2}", 25);
Console.Write("{0:F0}", 25);
25.00
25
G 或 g
常規(guī)
Console.Write("{0:G}", 2.5);
2.5
N 或 n
數(shù)字
Console.Write("{0:N}", 2500000);
2,500,000.00
X 或 x
十六進制
Console.Write("{0:X}", 250);
Console.Write("{0:X}", 0xffff);
FA
FFFF
二、修飾符
命名空間、(namespace),enum,interface 都不允許使用訪問修飾符,沒有訪問限制。
并且 enum and interface 成員的訪問限制默認為public,而class and struct的訪問限制默認為private。在struct的訪問限制里只有public ,private ,internal三種訪問限制。
1、  訪問限制修飾符:public ,private,protected,internal,protected internal(網(wǎng)上查找,重載與重寫的區(qū)別是???)
A)、public 訪問不受限制
B)、protected 訪問僅限于包含類或從包含類派生的類型
C)、internal 訪問僅限于當前程序集
D)、protected internal 訪問僅限于從包含類派生的當前程序集或類型
E)、private 訪問僅限于包含類型
F)、abstract可以和類、方法、屬性、索引器及事件一起使用。在類聲明中使用 abstract 修飾符以指示某個類只能是其他類的基類 。Remark: 抽象類不能實例化。抽象類的用途是提供多個派生類可共享的基類的公共定義,抽象類的成員方法同其派生類實現(xiàn),在抽象類只提供定義,如:
public abstract void DoWork(int i);//抽象方法沒有實現(xiàn),不是常規(guī)的方法塊,所以后面用分號。
public class D
{
public virtual void DoWork(int i)
{
// Original implementation.
}
}
public abstract class E : D
{
public abstract override void DoWork(int i);
}
public class F : E
{
public override void DoWork(int i)
{
// New implementation.
}
}//如果將虛方法聲明為抽象方法,則它對于從抽象類繼承的所有類而言仍然是虛的。繼承抽象方法的類無法訪問該方法的原始實現(xiàn)。在前面的示例中,類 F 上的 DoWork 無法調(diào)用類 D 上的 DoWork。在此情況下,抽象類可以強制派生類為虛方法提供新的方法實現(xiàn).
G)、密封類sealed:密封類不能用作基類。因此,它也不能是抽象類。密封類主要用于防止派生。
H)、const (readonly的區(qū)別,誰的效果好,在什么樣的條件下) 關(guān)鍵字用于修改字段或局部變量的聲明。它指定字段或局部變量的值是常數(shù),不能被修改。const 字段只能在該字段的聲明中初始化;readonly 字段可以在聲明或構(gòu)造函數(shù)中初始化。因此,根據(jù)所使用的構(gòu)造函數(shù),readonly 字段可能具有不同的值。另外,const 字段是編譯時常數(shù),而 readonly 字段可用于運行時常數(shù).
I)、event、關(guān)鍵字用于指定事件,類和結(jié)構(gòu)使用事件將出現(xiàn)的可能影響對象狀態(tài)的事件通知給對象;
public delegate void SampleEventDelegate(object sender, EventArgs e);
public class SampleEventSource
{
public event SampleEventDelegate SampleEvent;
}
J)、extern:用于聲明在外部實現(xiàn)的方法。extern 修飾符的常見用法是在使用 Interop 服務調(diào)入非托管代碼時與 DllImport 屬性一起使用;在這種情況下,該方法還必須聲明為 static,如下面的示例所示:
[DllImport("avifil32.dll")]
private static extern void AVIFileInit();
K)、Override(重寫基類相應的目標) : 擴展或修改繼承的方法、屬性、索引器或事件的抽象實現(xiàn)或虛實現(xiàn)。Remark:1、不能重寫非虛方法或靜態(tài)方法。重寫的基方法必須是 virtual、abstract 或 override 的;2、override 聲明不能更改 virtual 方法的可訪問性。override 方法和 virtual 方法必須具有相同的訪問修飾符;3、不能使用修飾符 new、static、virtual 或 abstract 來修改override 方法
L)、static:聲明屬于類型本身而不是屬于特定對象的靜態(tài)成員,不可修飾索引器、析構(gòu)函數(shù)或類以外的類型。
M)、unsafe:表示不安全上下文,該上下文是任何涉及指針的操作所必需的
N)、virtual 關(guān)鍵字用于修飾方法、屬性、索引器或事件聲明,并且允許在派生類中重寫這些對象。不能與 static、abstract 和 override 修飾符一起使用。
O)、volatile關(guān)鍵字表示字段可能被多個并發(fā)執(zhí)行線程修改,同于多個線程進行訪問修改,所以不用lock語句進行序列化的字段。Remark: 不能將局部變量聲明為 volatile。
P)、fixed:禁止垃圾回收器重定位可移動的變量,還可用于創(chuàng)建固定大小的緩沖區(qū)。語句設(shè)置指向托管變量的指針并在 statement 執(zhí)行期間“釘住”該變量。如果沒有 fixed 語句,則指向可移動托管變量的指針的作用很小,因為垃圾回收可能不可預知地重定位變量
Q)、lock 關(guān)鍵字將語句塊標記為臨界區(qū),方法是獲取給定對象的互斥鎖,執(zhí)行語句,然后釋放該鎖
方法參數(shù):
A)、params: 可以指定在參數(shù)數(shù)目可變處采用參數(shù)的方法參數(shù)。在方法聲明中只允許一個 params 關(guān)鍵字如:
Public static void UaseParams(params object[]){}
B)、ref and out different ,ref:關(guān)鍵字使參數(shù)按引用傳遞。其效果是,當控制權(quán)傳遞回調(diào)用方法時,在方法中對參數(shù)所做的任何更改都將反映在該變量中。若要使用 ref 參數(shù),則方法定義和調(diào)用方法都必須顯式使用 ref 關(guān)鍵字, 傳遞到 ref 參數(shù)的參數(shù)必須最先初始化. 這與 out 不同,out 的參數(shù)在傳遞之前不需要顯式初始化。
命名空間的關(guān)鍵字:
A)、namespace 關(guān)鍵字用于聲明一個范圍。此命名空間范圍允許您組織代碼并為您提供了創(chuàng)建全局唯一類型的方法。
B)、using: 1、作為指令,用于為命名空間創(chuàng)建別名或?qū)肫渌臻g中定義的類型。2、作為語句,用于定義一個范圍,在此范圍的末尾將釋放對象。
Using 作為指令時有兩個用途:
一、允許在命名空間中使用類型,以便您不必限定在該命名空間中使用的類型;
Using namespace;
二、為命名空間創(chuàng)建別名。
Using aligas = type|namespace;
Using 作為語句:定義一個范圍,將在此范圍之外釋放一個或多個對象:
using (Font font1 = new Font("Arial", 10.0f),font2 = new Font(“Arial”,12f))
using 語句允許程序員指定使用資源的對象應當何時釋放資源。為 using 語句提供的對象必須實現(xiàn) IDisposable 接口。此接口提供了 Dispose 方法,該方法將釋放此對象的資源
如:using (C c = new C()) ,C實現(xiàn)它自己的 Dispose 行為。注意類型C必須從 IDisposable 繼承,所以C實現(xiàn)了IDisposable接口
運算符關(guān)鍵字
A)、as(查找與is 之間的相同點與不同點): 用于在兼容的引用類型之間執(zhí)行轉(zhuǎn)換, 當轉(zhuǎn)換失敗時,運算符將產(chǎn)生空,而不是引發(fā)異常。更嚴格地說,這種形式的表達式,如:string[] str= new string[count];               String s = str[i] as string;
B)、is: 檢查對象是否與給定類型兼容,如果所提供的表達式非空,并且所提供的對象可以強制轉(zhuǎn)換為所提供的類型而不會導致引發(fā)異常,則 is 表達式的計算結(jié)果將是 true。如:
Object o; 類classs1, o is class1;
C)、new:有三種用途:運算符、修飾符、約束
D)、sizeof:用于獲取值類型的字節(jié)大小。例如,可以如下所示檢索 int 類型的大?。?div style="height:15px;">
int sizeInt = sizeof(int);//僅適用于值類型,不適合引用類型
E)、typeof:用于獲取類型的 System.Type 對象。Typeof表達式可以采用如下方式:
System.Type type = Typeof(int);若要獲取表達式的的運行時的類型,可以使用.net.framework的方法GetType();如:
Int i =0; System.Type type = i.GetType();
F)、stackalloc:在堆棧上分配內(nèi)存塊,如:int* fib = stackalloc int[100];
Remark: stackalloc 僅在局部變量的初始值設(shè)定項中有效
轉(zhuǎn)換關(guān)鍵字:explicit、implicit、operator
訪問關(guān)鍵字:base and this
上下文關(guān)鍵字:where, yield
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C# 類中方法、屬性、事件的類型關(guān)鍵字使用方法
c#中abstract、override、new、virtual、sealed使用和示例 .
C#基礎(chǔ)知識之base、this、new、override、abstract梳理
new關(guān)鍵字的幾種用法
C#中修飾符用法“virtual(虛擬函數(shù))、override(重載函數(shù))、static(...
C#之虛函數(shù)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服