锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品成人在线,亚洲国产香蕉碰碰人人,亚洲伊人久久成综合人影院http://www.tkk7.com/yunye/category/30273.html ... 闃沖厜鏄庡獨鐨勬棭涓婏紝鏃╂渤杈圭殑鑽夊潽涓婃惌寤烘垜鐨勮崏媯?... ........綆綆鍗曞崟........ .............鍗村緢瀹炲湪.........zh-cnFri, 21 Mar 2008 18:20:27 GMTFri, 21 Mar 2008 18:20:27 GMT60C#鍩虹姒傚康浜屽崄浜旈棶http://www.tkk7.com/yunye/archive/2008/03/22/187834.html浜戦噹浜戦噹Fri, 21 Mar 2008 17:30:00 GMThttp://www.tkk7.com/yunye/archive/2008/03/22/187834.htmlhttp://www.tkk7.com/yunye/comments/187834.htmlhttp://www.tkk7.com/yunye/archive/2008/03/22/187834.html#Feedback0http://www.tkk7.com/yunye/comments/commentRss/187834.htmlhttp://www.tkk7.com/yunye/services/trackbacks/187834.html1.闈欐佸彉閲忓拰闈為潤鎬佸彉閲忕殑鍖哄埆錛?/font>

聽聽聽 2.const 鍜?static readonly 鍖哄埆錛?/p>

聽聽聽 3.extern 鏄粈涔堟剰鎬濓紵

聽聽聽 4.abstract 鏄粈涔堟剰鎬濓紵

聽聽聽 5.internal 淇グ絎﹁搗浠涔堜綔鐢紵

聽聽聽 6.sealed 淇グ絎︽槸騫蹭粈涔堢殑錛?/p>

聽聽聽 7.override 鍜?overload 鐨勫尯鍒紵

聽聽聽 8.浠涔堟槸绱㈠紩鎸囩ず鍣紵

聽聽聽 9.new 淇グ絎︽槸璧蜂粈涔堜綔鐢紵

聽聽聽 10.this 鍏抽敭瀛楃殑鍚箟錛?/p>

聽聽聽 11.鍙互浣跨敤鎶借薄鍑芥暟閲嶅啓鍩虹被涓殑铏氬嚱鏁板悧錛?/p>

聽聽聽 12.瀵嗗皝綾誨彲浠ユ湁铏氬嚱鏁板悧錛?/p>

聽聽聽 13.濡傛灉鍩虹被涓殑铏氬睘鎬у彧鏈変竴涓睘鎬ц闂櫒錛岄偅涔堢戶鎵跨被閲嶅啓璇ュ睘鎬у悗鍙互鏈夊嚑涓睘鎬ц闂櫒錛熷鏋滃熀綾諱腑鏈?get 鍜?set 涓や釜鍛紵

聽聽聽 14.abstract 鍙互鍜?virtual 涓璧蜂嬌鐢ㄥ悧錛熷彲浠ュ拰 override 涓璧蜂嬌鐢ㄥ悧錛?/p>

聽聽聽 15.鎺ュ彛鍙互鍖呭惈鍝簺鎴愬憳錛?/p>

聽聽聽 16.綾誨拰緇撴瀯鐨勫尯鍒紵

聽聽聽 17.鎺ュ彛鐨勫緇ф壙浼氬甫鏉ュ摢浜涢棶棰橈紵

聽聽聽 18.鎶借薄綾誨拰鎺ュ彛鐨勫尯鍒紵

聽聽聽 19.鍒悕鎸囩ず絎︽槸浠涔堬紵

聽聽聽 20.濡備綍閲婃斁闈炴墭綆¤祫婧愶紵

聽聽聽 21.P/Invoke鏄粈涔堬紵

聽聽聽 22.StringBuilder 鍜?String 鐨勫尯鍒紵

聽聽聽 23.explicit 鍜?implicit 鐨勫惈涔夛紵

聽聽聽 24.params 鏈変粈涔堢敤錛?/p>

聽聽聽 25.浠涔堟槸鍙嶅皠錛?/p>

聽聽聽 浠ヤ笅鏄垜鍋氱殑涓浠藉弬鑰冪瓟妗堬紙C# 璇█鑼冪暣涔嬪唴錛夛紝濡傛灉鏈変笉鍑嗙‘銆佷笉鍏ㄩ潰鐨勶紝嬈㈣繋鍚勪綅鏈嬪弸鎸囨錛?/p>

聽聽聽 1.闈欐佸彉閲忓拰闈為潤鎬佸彉閲忕殑鍖哄埆錛?/p>

聽聽聽 絳旓細

聽聽聽 闈欐佸彉閲忥細

聽聽聽 闈欐佸彉閲忎嬌鐢?static 淇グ絎﹁繘琛屽0鏄?/p>

聽聽聽 鍦ㄦ墍灞炵被琚杞芥椂鍒涘緩

聽聽聽 閫氳繃綾昏繘琛岃闂?/p>

聽聽聽 鎵灞炵被鐨勬墍鏈夊疄渚嬬殑鍚屼竴闈欐佸彉閲忛兘鏄悓涓涓?/p>

聽聽聽 闈為潤鎬佸彉閲忥細

聽聽聽 涓嶅甫鏈?static 淇グ絎﹀0鏄庣殑鍙橀噺縐板仛闈為潤鎬佸彉閲?/p>

聽聽聽 鍦ㄧ被琚疄渚嬪寲鏃跺垱寤?/p>

聽聽聽 閫氳繃瀵硅薄榪涜璁塊棶

聽聽聽 鍚屼竴涓被鐨勪笉鍚屽疄渚嬬殑鍚屼竴闈為潤鎬佸彉閲忓彲浠ユ槸涓嶅悓鐨勫?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example01 { class Program { class Class1 { public static String staticStr = "Class"錛沺ublic String notstaticStr = "Obj"錛泒 static void Main錛坰tring[] args錛?/p>

聽聽聽 { //闈欐佸彉閲忛氳繃綾昏繘琛岃闂紝璇ョ被鎵鏈夊疄渚嬬殑鍚屼竴闈欐佸彉閲忛兘鏄悓涓涓糃onsole.WriteLine錛?Class1's staticStr錛?{0}"錛?Class1.staticStr錛夛紱

聽聽聽 Class1 tmpObj1 = new Class1錛堬級錛泃mpObj1.notstaticStr = "tmpObj1"錛汣lass1 tmpObj2 = new Class1錛堬級錛泃mpObj2.notstaticStr = "tmpObj2"錛?/p>

聽聽聽 //闈為潤鎬佸彉閲忛氳繃瀵硅薄榪涜璁塊棶錛屼笉鍚屽璞$殑鍚屼竴闈為潤鎬佸彉閲忓彲浠ユ湁涓嶅悓鐨勫糃onsole.WriteLine錛?tmpObj1's notstaticStr錛?{0}"錛?tmpObj1.notstaticStr錛夛紱Console.WriteLine錛?tmpObj2's notstaticStr錛?{0}"錛?tmpObj2.notstaticStr錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛欳lass1's staticStr錛?Class tmpObj1's notstaticStr錛?tmpObj1 tmpObj2's notstaticStr錛?tmpObj2

聽聽聽 2.const 鍜?static readonly 鍖哄埆錛?/p>

聽聽聽 絳旓細

聽聽聽 const

聽聽聽 鐢?const 淇グ絎﹀0鏄庣殑鎴愬憳鍙父閲忥紝鏄湪緙栬瘧鏈熷垵濮嬪寲騫跺祵鍏ュ埌瀹㈡埛绔▼搴?/p>

聽聽聽 static readonly

聽聽聽 鐢?static readonly 淇グ絎﹀0鏄庣殑鎴愬憳渚濈劧鏄彉閲忥紝鍙笉榪囧叿鏈夊拰甯擱噺綾諱技鐨勪嬌鐢ㄦ柟娉曪細閫氳繃綾昏繘琛岃闂佸垵濮嬪寲鍚庝笉鍙互淇敼銆備絾涓庡父閲忎笉鍚岀殑鏄繖縐嶅彉閲忔槸鍦ㄨ繍琛屾湡鍒濆鍖?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 嫻嬭瘯綾伙細

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example02Lib { public class Class1 { public const String strConst = "Const"錛沺ublic static readonly String strStaticReadonly = "StaticReadonly"錛?/public const String strConst = "Const Changed"錛?/public static readonly String strStaticReadonly = "StaticReadonly Changed"錛泒

聽聽聽 瀹㈡埛绔唬鐮侊細

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛泆sing Example02Lib錛?/p>

聽聽聽 namespace Example02 { class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { //淇敼Example02涓瑿lass1鐨剆trConst鍒濆鍊煎悗錛屽彧緙栬瘧Example02Lib欏圭洰//鐒跺悗鍒拌祫婧愮鐞嗗櫒閲屾妸鏂扮紪璇戠殑Example02Lib.dll鎷瘋礉Example02.exe鎵鍦ㄧ殑鐩綍錛屾墽琛孍xample02.exe //鍒囦笉鍙湪IDE閲岀洿鎺ヨ皟璇曡繍琛屽洜涓鴻繖浼氶噸鏂扮紪璇戞暣涓В鍐蟲柟妗堬紒錛?/p>

聽聽聽 //鍙互鐪嬪埌strConst鐨勮緭鍑烘病鏈夋敼鍙橈紝鑰宻trStaticReadonly鐨勮緭鍑哄凡緇忔敼鍙?/琛ㄦ槑Const鍙橀噺鏄湪緙栬瘧鏈熷垵濮嬪寲騫跺祵鍏ュ埌瀹㈡埛绔▼搴忥紝鑰孲taticReadonly鏄湪榪愯鏃跺垵濮嬪寲鐨凜onsole.WriteLine錛?strConst 錛?{0}"錛?Class1.strConst錛夛紱Console.WriteLine錛?strStaticReadonly 錛?{0}"錛?Class1.strStaticReadonly錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛歴trConst 錛?Const strStaticReadonly 錛?StaticReadonly

聽聽聽 淇敼鍚庣殑紺轟緥錛?/p>

聽聽聽 嫻嬭瘯綾伙細

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example02Lib { public class Class1 { //public const String strConst = "Const"錛?/public static readonly String strStaticReadonly = "StaticReadonly"錛沺ublic const String strConst = "Const Changed"錛沺ublic static readonly String strStaticReadonly = "StaticReadonly Changed"錛泒緇撴灉

聽聽聽 strConst 錛?Const strStaticReadonly 錛?StaticReadonly Changed

聽聽聽 3.extern 鏄粈涔堟剰鎬濓紵

聽聽聽 絳旓細

聽聽聽 extern 淇グ絎︾敤浜庡0鏄庣敱紼嬪簭闆嗗閮ㄥ疄鐜扮殑鎴愬憳鍑芥暟

聽聽聽 緇忓父鐢ㄤ簬緋葷粺API鍑芥暟鐨勮皟鐢紙閫氳繃 DllImport 錛夈傛敞鎰忥紝鍜孌llImport涓璧蜂嬌鐢ㄦ椂瑕佸姞涓?static 淇グ絎?/p>

聽聽聽 涔熷彲浠ョ敤浜庡浜庡悓涓紼嬪簭闆嗕笉鍚岀増鏈粍浠剁殑璋冪敤錛堢敤 extern 澹版槑鍒悕錛?/p>

聽聽聽 涓嶈兘涓?abstract 淇グ絎﹀悓鏃朵嬌鐢?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛泆sing System.Runtime.InteropServices錛?/p>

聽聽聽 namespace Example03 { class Program { //娉ㄦ剰DllImport鏄竴涓狝ttribute Property錛屽湪System.Runtime.InteropServices鍛藉悕絀洪棿涓畾涔?/extern涓嶥llImport涓璧蜂嬌鐢ㄦ椂蹇呴』鍐嶅姞涓婁竴涓猻tatic淇グ絎DllImport錛?User32.dll"錛塢 public static extern int MessageBox錛坕nt Handle錛?string Message錛?string Caption錛?int Type錛夛紱

聽聽聽 static int Main錛堬級

聽聽聽 { string myString錛汣onsole.Write錛?Enter your message錛?"錛夛紱myString = Console.ReadLine錛堬級錛況eturn MessageBox錛?錛?myString錛?"My Message Box"錛?0錛夛紱}緇撴灉錛?/p>

聽聽聽 4.abstract 鏄粈涔堟剰鎬濓紵

聽聽聽 絳旓細

聽聽聽 abstract 淇グ絎﹀彲浠ョ敤浜庣被銆佹柟娉曘佸睘鎬с佷簨浠跺拰绱㈠紩鎸囩ず鍣紙indexer錛夛紝琛ㄧず鍏朵負鎶借薄鎴愬憳

聽聽聽 abstract 涓嶅彲浠ュ拰 static 銆乿irtual 銆乷verride 涓璧蜂嬌鐢?/p>

聽聽聽 澹版槑涓?abstract 鎴愬憳鍙互涓嶅寘鎷疄鐜頒唬鐮侊紝浣嗗彧鏈夌被涓繕鏈夋湭瀹炵幇鐨勬娊璞℃垚鍛橈紝璇ョ被灝變笉鍙互琚疄渚嬪寲錛岄氬父鐢ㄤ簬寮哄埗緇ф壙綾誨繀欏誨疄鐜版煇涓鎴愬憳

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example04 { #region 鍩虹被錛屾娊璞$被public abstract class BaseClass { //鎶借薄灞炴э紝鍚屾椂鍏鋒湁get鍜宻et璁塊棶鍣ㄨ〃紺虹戶鎵跨被蹇呴』灝嗚灞炴у疄鐜頒負鍙鍐檖ublic abstract String Attribute { get錛泂et錛泒

聽聽聽 //鎶借薄鏂規硶錛屼紶鍏ヤ竴涓瓧絎︿覆鍙傛暟鏃犺繑鍥炲紁ublic abstract void Function錛圫tring value錛夛紱

聽聽聽 //鎶借薄浜嬩歡錛岀被鍨嬩負緋葷粺棰勫畾涔夌殑浠g悊錛坉elegate錛夛細EventHandler public abstract event EventHandler Event錛?/p>

聽聽聽 //鎶借薄绱㈠紩鎸囩ず鍣紝鍙叿鏈塯et璁塊棶鍣ㄨ〃紺虹戶鎵跨被蹇呴』灝嗚绱㈠紩鎸囩ず鍣ㄥ疄鐜頒負鍙public abstract Char this[int Index] { get錛泒 #endregion

聽聽聽 #region 緇ф壙綾籶ublic class DeriveClass 錛?BaseClass { private String attribute錛?/p>

聽聽聽 public override String Attribute { get { return attribute錛泒 set { attribute = value錛泒 public override void Function錛圫tring value錛?/p>

聽聽聽 { attribute = value錛沬f 錛圗vent 錛? null錛?/p>

聽聽聽 { Event錛坱his錛?new EventArgs錛堬級錛夛紱} public override event EventHandler Event錛沺ublic override Char this[int Index] { get { return attribute[Index]錛泒 #endregion

聽聽聽 class Program { static void OnFunction錛坥bject sender錛?EventArgs e錛?/p>

聽聽聽 { for 錛坕nt i = 0錛?i < 錛堬紙DeriveClass錛塻ender錛夈侫ttribute.Length錛?i++錛?/p>

聽聽聽 { Console.WriteLine錛堬紙錛圖eriveClass錛塻ender錛塠i]錛夛紱} static void Main錛坰tring[] args錛?/p>

聽聽聽 { DeriveClass tmpObj = new DeriveClass錛堬級錛?/p>

聽聽聽 tmpObj.Attribute = "1234567"錛汣onsole.WriteLine錛坱mpObj.Attribute錛夛紱

聽聽聽 //灝嗛潤鎬佸嚱鏁癘nFunction涓巘mpObj瀵硅薄鐨凟vent浜嬩歡榪涜鍏寵仈tmpObj.Event += new EventHandler錛圤nFunction錛夛紱

聽聽聽 tmpObj.Function錛?7654321"錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛?234567 7 6 5 4 3 2 1

聽聽聽 5.internal 淇グ絎﹁搗浠涔堜綔鐢紵

聽聽聽 絳旓細

聽聽聽 internal 淇グ絎﹀彲浠ョ敤浜庣被鍨嬫垨鎴愬憳錛屼嬌鐢ㄨ淇グ絎﹀0鏄庣殑綾誨瀷鎴栨垚鍛樺彧鑳藉湪鍚屼竴紼嬮泦鍐呰闂?/p>

聽聽聽 鎺ュ彛鐨勬垚鍛樹笉鑳戒嬌鐢?internal 淇グ絎?/p>

聽聽聽 紺轟緥

聽聽聽 Example05Lib 欏圭洰鐨?Class1

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example05Lib { public class Class1 { internal String strInternal = null錛沺ublic String strPublic錛泒緇撴灉Example05Lib 欏圭洰鐨?Class2 綾誨彲浠ヨ闂埌 Class1 鐨?strInternal 鎴愬憳

聽聽聽 Example05 欏圭洰鐨?Program 綾繪棤娉曡闂埌 Class1 鐨?strInternal 鎴愬憳

聽聽聽 [NextPage]

聽聽聽 6.sealed 淇グ絎︽槸騫蹭粈涔堢殑錛?/p>

聽聽聽 絳旓細

聽聽聽 sealed 淇グ絎﹁〃紺哄瘑灝?/p>

聽聽聽 鐢ㄤ簬綾繪椂錛岃〃紺鴻綾諱笉鑳藉啀琚戶鎵匡紝涓嶈兘鍜?abstract 鍚屾椂浣跨敤錛屽洜涓鴻繖涓や釜淇グ絎﹀湪鍚箟涓婁簰鐩告帓鏂?/p>

聽聽聽 鐢ㄤ簬鏂規硶鍜屽睘鎬ф椂錛岃〃紺鴻鏂規硶鎴栧睘鎬т笉鑳藉啀琚戶鎵匡紝蹇呴』鍜?override 鍏抽敭瀛椾竴璧蜂嬌鐢紝鍥犱負浣跨敤 sealed 淇グ絎︾殑鏂規硶鎴栧睘鎬ц偗瀹氭槸鍩虹被涓浉搴旂殑铏氭垚鍛?/p>

聽聽聽 閫氬父鐢ㄤ簬瀹炵幇絎笁鏂圭被搴撴椂涓嶆兂琚鎴風緇ф壙錛屾垨鐢ㄤ簬娌℃湁蹇呰鍐嶇戶鎵跨殑綾諱互闃叉婊ョ敤緇ф壙閫犳垚灞傛緇撴瀯浣撶郴娣蜂貢

聽聽聽 鎭板綋鐨勫埄鐢?sealed 淇グ絎︿篃鍙互鎻愰珮涓瀹氱殑榪愯鏁堢巼錛屽洜涓轟笉鐢ㄨ冭檻緇ф壙綾諱細閲嶅啓璇ユ垚鍛?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example06 { class Program { class A { public virtual void F錛堬級

聽聽聽 { Console.WriteLine錛?A.F"錛夛紱} public virtual void G錛堬級

聽聽聽 { Console.WriteLine錛?A.G"錛夛紱} class B 錛?A { public sealed override void F錛堬級

聽聽聽 { Console.WriteLine錛?B.F"錛夛紱} public override void G錛堬級

聽聽聽 { Console.WriteLine錛?B.G"錛夛紱} class C 錛?B { public override void G錛堬級

聽聽聽 { Console.WriteLine錛?C.G"錛夛紱} static void Main錛坰tring[] args錛?/p>

聽聽聽 { new A錛堬級銆侳錛堬級錛沶ew A錛堬級銆侴錛堬級錛沶ew B錛堬級銆侳錛堬級錛沶ew B錛堬級銆侴錛堬級錛沶ew C錛堬級銆侳錛堬級錛沶ew C錛堬級銆侴錛堬級錛?/p>

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛氱被 B 鍦ㄧ戶鎵跨被 A 鏃跺彲浠ラ噸鍐欎袱涓櫄鍑芥暟錛屽鍥炬墍紺猴細

聽聽聽 鐢變簬綾?B 涓 F 鏂規硶榪涜浜嗗瘑灝侊紝 綾?C 鍦ㄧ戶鎵跨被 B 鏃跺彧鑳介噸鍐欎竴涓嚱鏁幫紝濡傚浘鎵紺猴細

聽聽聽 鎺у埗鍙拌緭鍑虹粨鏋滐紝綾?C 鐨勬柟娉?F 鍙兘鏄緭鍑?綾籅 涓璇ユ柟娉曠殑瀹炵幇錛?/p>

聽聽聽 A.F A.G B.F B.G B.F C.G

聽聽聽 7.override 鍜?overload 鐨勫尯鍒紵

聽聽聽 絳旓細

聽聽聽 override 琛ㄧず閲嶅啓錛岀敤浜庣戶鎵跨被瀵瑰熀綾諱腑铏氭垚鍛樼殑瀹炵幇

聽聽聽 overload 琛ㄧず閲嶈澆錛岀敤浜庡悓涓涓被涓悓鍚嶆柟娉曚笉鍚屽弬鏁幫紙鍖呮嫭綾誨瀷涓嶅悓鎴栦釜鏁頒笉鍚岋級鐨勫疄鐜?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example07 { class Program { class BaseClass { public virtual void F錛堬級

聽聽聽 { Console.WriteLine錛?BaseClass.F"錛夛紱} class DeriveClass 錛?BaseClass { public override void F錛堬級

聽聽聽 { base.F錛堬級錛汣onsole.WriteLine錛?DeriveClass.F"錛夛紱} public void Add錛坕nt Left錛?int Right錛?/p>

聽聽聽 { Console.WriteLine錛?Add for Int錛?{0}"錛?Left + Right錛夛紱} public void Add錛坉ouble Left錛?double Right錛?/p>

聽聽聽 { Console.WriteLine錛?Add for int錛?{0}"錛?Left + Right錛夛紱} static void Main錛坰tring[] args錛?/p>

聽聽聽 { DeriveClass tmpObj = new DeriveClass錛堬級錛泃mpObj.F錛堬級錛泃mpObj.Add錛?錛?2錛夛紱tmpObj.Add錛?.1錛?2.2錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛欱aseClass.F DeriveClass.F Add for Int錛?3 Add for int錛?3.3

聽聽聽 8.浠涔堟槸绱㈠紩鎸囩ず鍣紵

聽聽聽 絳旓細

聽聽聽 瀹炵幇绱㈠紩鎸囩ず鍣紙indexer錛夌殑綾誨彲浠ヨ薄鏁扮粍閭f牱浣跨敤鍏跺疄渚嬪悗鐨勫璞★紝浣嗕笌鏁扮粍涓嶅悓鐨勬槸绱㈠紩鎸囩ず鍣ㄧ殑鍙傛暟綾誨瀷涓嶄粎闄愪簬int

聽聽聽 綆鍗曟潵璇達紝鍏舵湰璐ㄥ氨鏄竴涓惈鍙傛暟灞炴?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example08 { public class Point { private double x錛?y錛沺ublic Point錛坉ouble X錛?double Y錛?/p>

聽聽聽 { x = X錛泍 = Y錛泒 //閲嶅啓ToString鏂規硶鏂逛究杈撳嚭public override string ToString錛堬級

聽聽聽 { return String.Format錛?X錛?{0} 錛?Y錛?{1}"錛?x錛?y錛夛紱} public class Points { Point[] points錛沺ublic Points錛圥oint[] Points錛?/p>

聽聽聽 { points = Points錛泒 public int PointNumber { get { return points.Length錛泒 //瀹炵幇绱㈠紩璁塊棶鍣╬ublic Point this[int Index] { get { return points[Index]錛泒

聽聽聽 //鎰熻阿watson hua錛坔ttp://huazhihao.cnblogs.com/錛夌殑鎸囩偣//绱㈠紩鎸囩ず鍣ㄧ殑瀹炶川鏄惈鍙傚睘鎬э紝鍙傛暟騫朵笉鍙檺浜巌nt class WeatherOfWeek { public string this[int Index] { get { //娉ㄦ剰case孌典嬌鐢╮eturn鐩存帴榪斿洖鎵浠ヤ笉闇瑕乥reak switch 錛圛ndex錛?/p>

聽聽聽 { case 0錛歿 return "Today is cloudy錛?錛泒 case 5錛歿 return "Today is thundershower錛?錛泒 default錛歿 return "Today is fine錛?錛泒 public string this[string Day] { get { string TodayWeather = null錛?/switch鐨勬爣鍑嗗啓娉晄witch 錛圖ay錛?/p>

聽聽聽 { case "Sunday"錛歿 TodayWeather = "Today is cloudy錛?錛沚reak錛泒 case "Friday"錛歿 TodayWeather = "Today is thundershower錛?錛沚reak錛泒 default錛歿 TodayWeather = "Today is fine錛?錛沚reak錛泒 return TodayWeather錛泒 class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { Point[] tmpPoints = new Point[10]錛沠or 錛坕nt i = 0錛?i < tmpPoints.Length錛?i++錛?/p>

聽聽聽 { tmpPoints[i] = new Point錛坕錛?Math.Sin錛坕錛夛級錛泒

聽聽聽 Points tmpObj = new Points錛坱mpPoints錛夛紱for 錛坕nt i = 0錛?i < tmpObj.PointNumber錛?i++錛?/p>

聽聽聽 { Console.WriteLine錛坱mpObj[i]錛夛紱}

聽聽聽 string[] Week = new string[] { "Sunday"錛?"Monday"錛?"Tuesday"錛?"Wednesday"錛?"Thursday"錛?"Friday"錛?"Staurday"}錛沇eatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek錛堬級錛沠or 錛坕nt i = 0錛?i < 6錛?i++錛?/p>

聽聽聽 { Console.WriteLine錛坱mpWeatherOfWeek[i]錛夛紱} foreach 錛坰tring tmpDay in Week錛?/p>

聽聽聽 { Console.WriteLine錛坱mpWeatherOfWeek[tmpDay]錛夛紱}

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛歑錛?0 錛?Y錛?0 X錛?1 錛?Y錛?0.841470984807897 X錛?2 錛?Y錛?0.909297426825682 X錛?3 錛?Y錛?0.141120008059867 X錛?4 錛?Y錛?-0.756802495307928 X錛?5 錛?Y錛?-0.958924274663138 X錛?6 錛?Y錛?-0.279415498198926 X錛?7 錛?Y錛?0.656986598718789 X錛?8 錛?Y錛?0.989358246623382 X錛?9 錛?Y錛?0.412118485241757 Today is cloudy錛?/p>

聽聽聽 Today is fine錛?/p>

聽聽聽 Today is thundershower錛?/p>

聽聽聽 Today is cloudy錛?/p>

聽聽聽 Today is fine錛?/p>

聽聽聽 Today is thundershower錛?/p>

聽聽聽 Today is fine錛?/p>

聽聽聽 9.new 淇グ絎︽槸璧蜂粈涔堜綔鐢紵

聽聽聽 絳旓細

聽聽聽 new 淇グ絎︿笌 new 鎿嶄綔絎︽槸涓や釜姒傚康

聽聽聽 new 淇グ絎︾敤浜庡0鏄庣被鎴栫被鐨勬垚鍛橈紝琛ㄧず闅愯棌浜嗗熀綾諱腑鍚屽悕鐨勬垚鍛樸傝宯ew 鎿嶄綔絎︾敤浜庡疄渚嬪寲涓涓被鍨?/p>

聽聽聽 new 淇グ絎﹀彧鑳界敤浜庣戶鎵跨被錛屼竴鑸敤浜庡譏琛ュ熀綾昏璁$殑涓嶈凍

聽聽聽 new 淇グ絎﹀拰 override 淇グ絎︿笉鍙悓鏃剁敤鍦ㄤ竴涓垚鍛樹笂錛屽洜涓鴻繖涓や釜淇グ絎﹀湪鍚箟涓婁簰鐩告帓鏂?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example09 { class BaseClass { //鍩虹被璁捐鑰呭0鏄庝簡涓涓狿I鐨勫叕鍏卞彉閲忥紝鏂逛究榪涜榪愮畻public static double PI = 3.1415錛泒 class DervieClass 錛?BaseClass { //緇ф壙綾誨彂鐜拌鍙橀噺鐨勫間笉鑳芥弧瓚寵繍綆楃簿搴︼紝浜庢槸鍙互閫氳繃new淇グ絎︽樉紺洪殣钘忓熀綾諱腑鐨勫0鏄巔ublic new static double PI = 3.1415926錛泒 class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { Console.WriteLine錛圔aseClass.PI錛夛紱Console.WriteLine錛圖ervieClass.PI錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛?.1415 3.1415926

聽聽聽 10.this 鍏抽敭瀛楃殑鍚箟錛?/p>

聽聽聽 絳旓細

聽聽聽 this 鏄竴涓繚鐣欏瓧錛屼粎闄愪簬鏋勯犲嚱鏁板拰鏂規硶鎴愬憳涓嬌鐢?/p>

聽聽聽 鍦ㄧ被鐨勬瀯閫犲嚱鏁頒腑鍑虹幇琛ㄧず瀵規鍦ㄦ瀯閫犵殑瀵硅薄鏈韓鐨勫紩鐢紝鍦ㄧ被鐨勬柟娉曚腑鍑虹幇琛ㄧず瀵硅皟鐢ㄨ鏂規硶鐨勫璞$殑寮曠敤錛屽湪緇撴瀯鐨勬瀯閫犱笂鍑芥暟涓嚭鐜拌〃紺哄姝e湪鏋勯犵殑緇撴瀯鐨勫紩鐢紝鍦ㄧ粨鏋勭殑鏂規硶涓嚭鐜拌〃紺哄璋冪敤璇ユ柟娉曠殑緇撴灉鐨勫紩鐢?/p>

聽聽聽 this 淇濈暀瀛椾笉鑳界敤浜庨潤鎬佹垚鍛樼殑瀹炵幇閲岋紝鍥犱負榪欐椂瀵硅薄鎴栫粨鏋勫茍鏈疄渚嬪寲

聽聽聽 鍦?C# 緋葷粺涓紝this 瀹為檯涓婃槸涓涓父閲忥紝鎵浠ヤ笉鑳戒嬌鐢?this++ 榪欐牱鐨勮繍綆?/p>

聽聽聽 this 淇濈暀瀛椾竴鑸敤浜庨檺瀹氬悓鍚嶇殑闅愯棌鎴愬憳銆佸皢瀵硅薄鏈韓鍋氫負鍙傛暟銆佸0鏄庣儲寮曡闂櫒銆佸垽鏂紶鍏ュ弬鏁扮殑瀵硅薄鏄惁涓烘湰韜?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example10 { class Class1 { private double c錛沺rivate string value錛?/p>

聽聽聽 public double C { get { return c錛泒 public Class1錛坉ouble c錛?/p>

聽聽聽 { //闄愬畾鍚屽悕鐨勯殣钘忔垚鍛榯his.c = c錛泒 public Class1錛圕lass1 value錛?/p>

聽聽聽 { //鐢ㄥ璞℃湰韜疄渚嬪寲鑷繁娌℃湁鎰忎箟if 錛坱his 錛? value錛?/p>

聽聽聽 { c = value.C錛泒 public override string ToString錛堬級

聽聽聽 { //灝嗗璞℃湰韜仛涓哄弬鏁皉eturn string.Format錛?{0} Celsius = {1} Fahrenheit"錛?c錛?UnitTransClass.C2F錛坱his錛夛級錛泒

聽聽聽 //鐢變簬濂藉錛屽湪榪欏仛浜嗕竴涓晥鐜囨祴璇曪紝鎯崇湅鐪嬪埌搴曞摢縐嶆柟寮忚闂垚鍛樺彉閲忔洿蹇紝緇撹錛氬尯鍒笉澶р︹?/p>

聽聽聽 public string Test1錛堬級

聽聽聽 { long vTickCount = Environment.TickCount錛沠or 錛坕nt i = 0錛?i < 10000000錛?i++錛?/p>

聽聽聽 this.value = i.ToString錛堬級錛況eturn string.Format錛?Have this.錛?{0} MSEL"錛?Environment.TickCount - vTickCount錛夛紱} public string Test2錛堬級

聽聽聽 { long vTickCount = Environment.TickCount錛沠or 錛坕nt i = 0錛?i < 10000000錛?i++錛?/p>

聽聽聽 value = i.ToString錛堬級錛況eturn string.Format錛?Don't have this.錛?{0} MSEL"錛?Environment.TickCount - vTickCount錛夛紱} class UnitTransClass { public static double C2F錛圕lass1 value錛?/p>

聽聽聽 { //鎽勬皬鍒板崕姘忕殑杞崲鍏紡return 1.8 * value.C + 32錛泒 class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { Class1 tmpObj = new Class1錛?7.5錛夛紱

聽聽聽 Console.WriteLine錛坱mpObj錛夛紱

聽聽聽 Console.WriteLine錛坱mpObj.Test1錛堬級錛夛紱Console.WriteLine錛坱mpObj.Test2錛堬級錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛?7.5 Celsius = 99.5 Fahrenheit Have this.錛?4375 MSEL Don't have this.錛?4406 MSEL

聽聽聽聽聽聽 [NextPage]

聽聽聽 11.鍙互浣跨敤鎶借薄鍑芥暟閲嶅啓鍩虹被涓殑铏氬嚱鏁板悧錛?/p>

聽聽聽 絳旓細

聽聽聽 鍙互錛屼絾闇浣跨敤 new 淇グ絎︽樉寮忓0鏄庯紝琛ㄧず闅愯棌浜嗗熀綾諱腑璇ュ嚱鏁扮殑瀹炵幇

聽聽聽 紺轟緥錛?/p>

聽聽聽 class BaseClass { public virtual void F錛堬級

聽聽聽 { Console.WriteLine錛?BaseClass.F"錛夛紱} abstract class聽 DeriveClass 錛?BaseClass { public new abstract void F錛堬級錛泒

聽聽聽 12.瀵嗗皝綾誨彲浠ユ湁铏氬嚱鏁板悧錛?/p>

聽聽聽 絳旓細

聽聽聽 鍙互錛屽熀綾諱腑鐨勮櫄鍑芥暟灝嗛殣寮忕殑杞寲涓洪潪铏氬嚱鏁幫紝浣嗗瘑灝佺被鏈韓涓嶈兘鍐嶅鍔犳柊鐨勮櫄鍑芥暟

聽聽聽 紺轟緥錛?/p>

聽聽聽 class BaseClass { public virtual void F錛堬級

聽聽聽 { Console.WriteLine錛?BaseClass.F"錛夛紱} sealed class DeriveClass 錛?BaseClass { //鍩虹被涓殑铏氬嚱鏁癋琚殣寮忕殑杞寲涓洪潪铏氬嚱鏁?/p>

聽聽聽 //瀵嗗皝綾諱腑涓嶈兘鍐嶅0鏄庢柊鐨勮櫄鍑芥暟G //public virtual void G錛堬級

聽聽聽 //{ //聽聽聽 Console.WriteLine錛?DeriveClass.G"錛夛紱//} }

聽聽聽 13.濡傛灉鍩虹被涓殑铏氬睘鎬у彧鏈変竴涓睘鎬ц闂櫒錛岄偅涔堢戶鎵跨被閲嶅啓璇ュ睘鎬у悗鍙互鏈夊嚑涓睘鎬ц闂櫒錛熷鏋滃熀綾諱腑鏈?get 鍜?set 涓や釜鍛紵

聽聽聽 絳旓細

聽聽聽 濡傛灉鍩虹被涓殑铏氬睘鎬у彧鏈変竴涓睘鎬ц闂櫒錛岄偅涔堢戶鎵跨被閲嶅啓璇ュ睘鎬у悗涔熷簲鍙湁涓涓傚鏋滃熀綾諱腑鏈?get 鍜?set 涓や釜灞炴ц闂櫒錛岄偅涔堢戶鎵跨被涓彲浠ュ彧鏈変竴涓篃鍙互鍚屾椂鏈変袱涓睘鎬ц闂櫒

聽聽聽 14.abstract 鍙互鍜?virtual 涓璧蜂嬌鐢ㄥ悧錛熷彲浠ュ拰 override 涓璧蜂嬌鐢ㄥ悧錛?/p>

聽聽聽 絳旓細

聽聽聽 abstract 淇グ絎︿笉鍙互鍜?static銆乿irtual 鍜?override 淇グ絎︿竴璧蜂嬌鐢?/p>

聽聽聽 15.鎺ュ彛鍙互鍖呭惈鍝簺鎴愬憳錛?/p>

聽聽聽 絳旓細

聽聽聽 鎺ュ彛鍙互鍖呭惈灞炴с佹柟娉曘佺儲寮曟寚紺哄櫒鍜屼簨浠訛紝浣嗕笉鑳藉寘鍚父閲忋佸煙銆佹搷浣滅銆佹瀯閫犲嚱鏁板拰鏋愭瀯鍑芥暟錛岃屼笖涔熶笉鑳藉寘鍚換浣曢潤鎬佹垚鍛?/p>

聽聽聽 16.綾誨拰緇撴瀯鐨勫尯鍒紵

聽聽聽 絳旓細綾伙細

聽聽聽 綾繪槸寮曠敤綾誨瀷鍦ㄥ爢涓婂垎閰嶏紝綾葷殑瀹炰緥榪涜璧嬪煎彧鏄鍒朵簡寮曠敤錛岄兘鎸囧悜鍚屼竴孌靛疄闄呭璞″垎閰嶇殑鍐呭瓨

聽聽聽 綾繪湁鏋勯犲拰鏋愭瀯鍑芥暟

聽聽聽 綾誨彲浠ョ戶鎵垮拰琚戶鎵?/p>

聽聽聽 緇撴瀯錛?/p>

聽聽聽 緇撴瀯鏄肩被鍨嬪湪鏍堜笂鍒嗛厤錛堣櫧鐒舵爤鐨勮闂熷害姣旇緝鍫嗚蹇紝浣嗘爤鐨勮祫婧愭湁闄愭斁錛夛紝緇撴瀯鐨勮祴鍊煎皢鍒嗛厤浜х敓涓涓柊鐨勫璞°?/p>

聽聽聽 緇撴瀯娌℃湁鏋勯犲嚱鏁幫紝浣嗗彲浠ユ坊鍔犮傜粨鏋勬病鏈夋瀽鏋勫嚱鏁?/p>

聽聽聽 緇撴瀯涓嶅彲浠ョ戶鎵胯嚜鍙︿竴涓粨鏋勬垨琚戶鎵匡紝浣嗗拰綾諱竴鏍峰彲浠ョ戶鎵胯嚜鎺ュ彛

聽聽聽 紺轟緥錛?/p>

聽聽聽 鏍規嵁浠ヤ笂姣旇緝錛屾垜浠彲浠ュ緱鍑轟竴浜涜交閲忕駭鐨勫璞℃渶濂戒嬌鐢ㄧ粨鏋勶紝浣嗘暟鎹噺澶ф垨鏈夊鏉傚鐞嗛昏緫瀵硅薄鏈濂戒嬌鐢ㄧ被銆?/p>

聽聽聽 濡傦細Geoemtry錛圙IS 閲岀殑涓涓璁猴紝鍦?OGC 鏍囧噯閲屾湁瀹氫箟錛?鏈濂戒嬌鐢ㄧ被錛岃?Geometry 涓偣鐨勬垚鍛樻渶濂戒嬌鐢ㄧ粨鏋?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example16 { interface IPoint { double X { get錛泂et錛泒 double Y { get錛泂et錛泒 double Z { get錛泂et錛泒 //緇撴瀯涔熷彲浠ヤ粠鎺ュ彛緇ф壙struct Point錛?IPoint { private double x錛?y錛?z錛?/緇撴瀯涔熷彲浠ュ鍔犳瀯閫犲嚱鏁皃ublic Point錛坉ouble X錛?double Y錛?double Z錛?/p>

聽聽聽 { this.x = X錛泃his.y = Y錛泃his.z = Z錛泒 public double X { get { return x錛?} set { x = value錛?} } public double Y { get { return x錛?} set { x = value錛?} } public double Z { get { return x錛?} set { x = value錛?} } //鍦ㄦ綆鍖栦簡鐐圭姸Geometry鐨勮璁★紝瀹為檯浜у搧涓繕鍖呭惈Project錛堝潗鏍囧彉鎹級絳夊鏉傛搷浣渃lass PointGeometry { private Point value錛?/p>

聽聽聽 public PointGeometry錛坉ouble X錛?double Y錛?double Z錛?/p>

聽聽聽 { value = new Point錛圶錛?Y錛?Z錛夛紱} public PointGeometry錛圥oint value錛?/p>

聽聽聽 { //緇撴瀯鐨勮祴鍊煎皢鍒嗛厤鏂扮殑鍐呭瓨this.value = value錛泒 public double X { get { return value.X錛?} set { this.value.X = value錛?} } public double Y { get { return value.Y錛?} set { this.value.Y = value錛?} } public double Z { get { return value.Z錛?} set { this.value.Z = value錛?} } public static PointGeometry operator +錛圥ointGeometry Left錛?PointGeometry Rigth錛?/p>

聽聽聽 { return new PointGeometry錛圠eft.X + Rigth.X錛?Left.Y + Rigth.Y錛?Left.Z + Rigth.Z錛夛紱} public override string ToString錛堬級

聽聽聽 { return string.Format錛?X錛?{0}錛?Y錛?{1}錛?Z錛?{2}"錛?value.X錛?value.Y錛?value.Z錛夛紱} class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { Point tmpPoint = new Point錛?錛?2錛?3錛夛紱

聽聽聽 PointGeometry tmpPG1 = new PointGeometry錛坱mpPoint錛夛紱PointGeometry tmpPG2 = new PointGeometry錛坱mpPoint錛夛紱tmpPG2.X = 4錛泃mpPG2.Y = 5錛泃mpPG2.Z = 6錛?/p>

聽聽聽 //鐢變簬緇撴瀯鏄肩被鍨嬶紝tmpPG1 鍜?tmpPG2 鐨勫潗鏍囧茍涓嶄竴鏍稢onsole.WriteLine錛坱mpPG1錛夛紱Console.WriteLine錛坱mpPG2錛夛紱

聽聽聽 //鐢變簬綾繪槸寮曠敤綾誨瀷錛屽tmpPG1鍧愭爣淇敼鍚庡獎鍝嶅埌浜唗mpPG3 PointGeometry tmpPG3 = tmpPG1錛泃mpPG1.X = 7錛泃mpPG1.Y = 8錛泃mpPG1.Z = 9錛汣onsole.WriteLine錛坱mpPG1錛夛紱Console.WriteLine錛坱mpPG3錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛歑錛?1錛?Y錛?2錛?Z錛?3 X錛?4錛?Y錛?5錛?Z錛?6 X錛?7錛?Y錛?8錛?Z錛?9

聽聽聽聽聽[NextPage]

聽聽聽 聽17.鎺ュ彛鐨勫緇ф壙浼氬甫鏉ュ摢浜涢棶棰橈紵

聽聽聽 絳旓細

聽聽聽 C# 涓殑鎺ュ彛涓庣被涓嶅悓錛屽彲浠ヤ嬌鐢ㄥ緇ф壙錛屽嵆涓涓瓙鎺ュ彛鍙互鏈夊涓埗鎺ュ彛銆備絾濡傛灉涓や釜鐖舵垚鍛樺叿鏈夊悓鍚嶇殑鎴愬憳錛屽氨浜х敓浜嗕簩涔夋э紙榪欎篃姝f槸 C# 涓被鍙栨秷浜嗗緇ф壙鐨勫師鍥犱箣涓錛夛紝榪欐椂鍦ㄥ疄鐜版椂鏈濂戒嬌鐢ㄦ樉寮忕殑澹版槑

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example17 { class Program { //涓涓畬鏁寸殑鎺ュ彛澹版槑紺轟緥interface IExample { //灞炴tring P { get錛泂et錛泒 //鏂規硶string F錛坕nt Value錛夛紱//浜嬩歡event EventHandler E錛?/绱㈠紩鎸囩ず鍣╯tring this[int Index] { get錛泂et錛泒 interface IA { int Count { get錛?set錛泒 } interface IB { int Count錛堬級錛泒 //IC鎺ュ彛浠嶪A鍜孖B澶氶噸緇ф壙interface IC 錛?IA錛?IB { } class C 錛?IC { private int count = 100錛?/鏄懼紡澹版槑瀹炵幇IA鎺ュ彛涓殑Count灞炴nt IA.Count { get { return 100錛?} set { count = value錛?} } //鏄懼紡澹版槑瀹炵幇IB鎺ュ彛涓殑Count鏂規硶int IB.Count錛堬級

聽聽聽 { return count * count錛泒 static void Main錛坰tring[] args錛?/p>

聽聽聽 { C tmpObj = new C錛堬級錛?/p>

聽聽聽 //璋冪敤鏃朵篃瑕佹樉寮忚漿鎹onsole.WriteLine錛?Count property錛?{0}"錛?錛堬紙IA錛塼mpObj錛夈侰ount錛夛紱Console.WriteLine錛?Count function錛?{0}"錛?錛堬紙IB錛塼mpObj錛夈侰ount錛堬級錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛欳ount property錛?100 Count function錛?10000

聽聽聽 18.鎶借薄綾誨拰鎺ュ彛鐨勫尯鍒紵

聽聽聽 絳旓細

聽聽聽 鎶借薄綾伙紙abstract class錛夊彲浠ュ寘鍚姛鑳藉畾涔夊拰瀹炵幇錛屾帴鍙o紙interface錛夊彧鑳藉寘鍚姛鑳藉畾涔?/p>

聽聽聽 鎶借薄綾繪槸浠庝竴緋誨垪鐩稿叧瀵硅薄涓娊璞″嚭鏉ョ殑姒傚康錛?鍥犳鍙嶆槧鐨勬槸浜嬬墿鐨勫唴閮ㄥ叡鎬э紱鎺ュ彛鏄負浜嗘弧瓚沖閮ㄨ皟鐢ㄨ屽畾涔夌殑涓涓姛鑳界害瀹氾紝 鍥犳鍙嶆槧鐨勬槸浜嬬墿鐨勫閮ㄧ壒鎬?/p>

聽聽聽 鍒嗘瀽瀵硅薄錛屾彁鐐煎唴閮ㄥ叡鎬у艦鎴愭娊璞$被錛岀敤浠ヨ〃紺哄璞℃湰璐紝鍗斥滄槸浠涔堚?/p>

聽聽聽 涓哄閮ㄦ彁渚涜皟鐢ㄦ垨鍔熻兘闇瑕佹墿鍏呮椂浼樺厛浣跨敤鎺ュ彛

聽聽聽 19.鍒悕鎸囩ず絎︽槸浠涔堬紵

聽聽聽 絳旓細

聽聽聽 閫氳繃鍒悕鎸囩ず絎︽垜浠彲浠ヤ負鏌愪釜綾誨瀷璧蜂竴涓埆鍚?/p>

聽聽聽 涓昏鐢ㄤ簬瑙e喅涓や釜鍛藉悕絀洪棿鍐呮湁鍚屽悕綾誨瀷鐨勫啿紿佹垨閬垮厤浣跨敤鍐椾綑鐨勫懡鍚嶇┖闂?/p>

聽聽聽 鍒悕鎸囩ず絎﹀彧鍦ㄤ竴涓崟鍏冩枃浠跺唴璧蜂綔鐢?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 Class1.cs錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace com.nblogs.reonlyrun.CSharp26QExample.Example19.Lib01 { class Class1 { public override string ToString錛堬級

聽聽聽 { return "com.nblogs.reonlyrun.CSharp26QExample.Example19.Lib01's Class1"錛泒 Class2.cs

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace com.nblogs.reonlyrun.CSharp26QExample.Example19.Lib02 { class Class1 { public override string ToString錛堬級

聽聽聽 { return "com.nblogs.reonlyrun.CSharp26QExample.Example19.Lib02's Class1"錛泒涓誨崟鍏冿紙Program.cs錛夛細

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 //浣跨敤鍒悕鎸囩ず絎﹁В鍐沖悓鍚嶇被鍨嬬殑鍐茬獊using Lib01Class1 = com.nblogs.reonlyrun.CSharp26QExample.Example19.Lib01.Class1錛泆sing Lib02Class2 = com.nblogs.reonlyrun.CSharp26QExample.Example19.Lib02.Class1錛?/p>

聽聽聽 namespace Example19 { class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { Lib01Class1 tmpObj1 = new Lib01Class1錛堬級錛汱ib02Class2 tmpObj2 = new Lib02Class2錛堬級錛?/p>

聽聽聽 Console.WriteLine錛坱mpObj1錛夛紱Console.WriteLine錛坱mpObj2錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛歝om.nblogs.reonlyrun.CSharp26QExample.Example19.Lib01's Class1 com.nblogs.reonlyrun.CSharp26QExample.Example19.Lib02's Class1

聽聽聽 20.濡備綍閲婃斁闈炴墭綆¤祫婧愶紵

聽聽聽 絳旓細

聽聽聽 銆侼ET 騫沖彴鍦ㄥ唴瀛樼鐞嗘柟闈㈡彁渚涗簡GC錛圙arbage Collection錛夛紝璐熻矗鑷姩閲婃斁鎵樼璧勬簮鍜屽唴瀛樺洖鏀剁殑宸ヤ綔錛屼絾瀹冩棤娉曞闈炴墭綆¤祫婧愯繘琛岄噴鏀撅紝榪欐椂鎴戜滑蹇呴』鑷繁鎻愪緵鏂規硶鏉ラ噴鏀懼璞″唴鍒嗛厤鐨勯潪鎵樼璧勬簮錛屾瘮濡備綘鍦ㄥ璞$殑瀹炵幇浠g爜涓嬌鐢ㄤ簡涓涓狢OM瀵硅薄

聽聽聽 鏈綆鍗曠殑鍔炴硶錛屽彲浠ラ氳繃瀹炵幇protected void Finalize錛堬級錛堟瀽鏋勫嚱鏁頒細鍦ㄧ紪璇戞椂鍙樻垚榪欎釜涓滀笢錛夋潵閲婃斁闈炴墭綆¤祫婧愶紝鍥犱負GC鍦ㄩ噴鏀懼璞℃椂浼氭鏌ヨ瀵硅薄鏄惁瀹炵幇浜?Finalize錛堬級 鏂規硶錛屽鏋滄槸鍒欒皟鐢ㄥ畠銆備絾錛屾嵁璇磋繖鏍蜂細闄嶄綆鏁堢巼鈥︹?/p>

聽聽聽 鏈変竴縐嶆洿濂界殑錛岄偅灝辨槸閫氳繃瀹炵幇涓涓帴鍙f樉寮忕殑鎻愪緵緇欏鎴瘋皟鐢ㄧ鎵嬪伐閲婃斁瀵硅薄鐨勬柟娉曪紝鑰屼笉鏄偦鍌葷殑絳夌潃GC鏉ラ噴鏀炬垜浠殑瀵硅薄錛堜綍鍐墊晥鐜囧張閭d箞浣庯級

聽聽聽 System 鍛藉悕絀洪棿鍐呮湁涓涓?IDisposable 鎺ュ彛錛屾嬁鏉ュ仛榪欎簨闈炲父鍚堥傦紝灝辯渷寰楁垜浠嚜宸卞啀澹版槑涓涓帴鍙d簡

聽聽聽 鍙﹀琛ュ厖涓鍙ワ紝榪欑瀹炵幇騫朵笉涓瀹氳浣跨敤浜嗛潪鎵樼璧勬簮鍚庢墠鐢紝濡傛灉浣犺璁$殑綾諱細鍦ㄨ繍琛屾椂鏈夊ぇ浜涚殑瀹炰緥錛堣薄 GIS 涓殑Geometry錛夛紝涓轟簡浼樺寲紼嬪簭鎬ц兘錛屼綘涔熷彲浠ラ氳繃瀹炵幇璇ユ帴鍙h瀹㈡埛璋冪敤绔湪紜涓嶉渶瑕佽繖浜涘璞℃椂鎵嬪伐閲婃斁瀹冧滑

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example20 { class Program { class Class1 錛?IDisposable { //鏋愭瀯鍑芥暟錛岀紪璇戝悗鍙樻垚 protected void Finalize錛堬級錛孏C浼氬湪鍥炴敹瀵硅薄鍓嶄細璋冪敤璋冪敤璇ユ柟娉晘Class1錛堬級

聽聽聽 { Dispose錛坒alse錛夛紱}

聽聽聽 //閫氳繃瀹炵幇璇ユ帴鍙o紝瀹㈡埛鍙互鏄懼紡鍦伴噴鏀懼璞★紝鑰屼笉闇瑕佺瓑寰匞C鏉ラ噴鏀捐祫婧愶紝鎹閭f牱浼氶檷浣庢晥鐜噕oid IDisposable.Dispose錛堬級

聽聽聽 { Dispose錛坱rue錛夛紱}

聽聽聽 //灝嗛噴鏀鵑潪鎵樼璧勬簮璁捐鎴愪竴涓櫄鍑芥暟錛屾彁渚涘湪緇ф壙綾諱腑閲婃斁鍩虹被鐨勮祫婧愮殑鑳藉姏protected virtual void ReleaseUnmanageResources錛堬級

聽聽聽 { //Do something鈥︹?/p>

聽聽聽 }

聽聽聽 //縐佹湁鍑芥暟鐢ㄤ互閲婃斁闈炴墭綆¤祫婧恜rivate void Dispose錛坆ool disposing錛?/p>

聽聽聽 { ReleaseUnmanageResources錛堬級錛?/p>

聽聽聽 //涓簍rue鏃惰〃紺烘槸瀹㈡埛鏄懼紡璋冪敤浜嗛噴鏀懼嚱鏁幫紝闇閫氱煡GC涓嶈鍐嶈皟鐢ㄥ璞$殑Finalize鏂規硶//涓篺alse鏃惰偗瀹氭槸GC璋冪敤浜嗗璞$殑Finalize鏂規硶錛屾墍浠ユ病鏈夊繀瑕佸啀鍛婅瘔GC浣犱笉瑕佽皟鐢ㄦ垜鐨凢inalize鏂規硶鍟f 錛坉isposing錛?/p>

聽聽聽 { GC.SuppressFinalize錛坱his錛夛紱} static void Main錛坰tring[] args錛?/p>

聽聽聽 { //tmpObj1娌℃湁鎵嬪伐閲婃斁璧勬簮錛屽氨絳夌潃GC鏉ユ參鎱㈢殑閲婃斁瀹冨惂Class1 tmpObj1 = new Class1錛堬級錛?/p>

聽聽聽 //tmpObj2璋冪敤浜咲ispose鏂規硶錛屼紶璇存瘮絳夌潃GC鏉ラ噴鏀懼畠鏁堢巼瑕佽皟涓浜?/涓漢璁や負鏄洜涓鴻閫愪釜瀵硅薄鐨勬煡鐪嬪叾鍏冩暟鎹紝浠ョ‘璁ゆ槸鍚﹀疄鐜頒簡Dispose鏂規硶鍚?/褰撶劧鏈閲嶈鐨勬槸鎴戜滑鍙互鑷繁紜畾閲婃斁鐨勬椂闂翠互鑺傜渷鍐呭瓨錛屼紭鍖栫▼搴忚繍琛屾晥鐜嘋lass1 tmpObj2 = new Class1錛堬級錛涳紙錛圛Disposable錛塼mpObj2錛夈侱ispose錛堬級錛泒

聽聽聽 21.P/Invoke鏄粈涔堬紵

聽聽聽 絳旓細

聽聽聽 鍦ㄥ彈鎺т唬鐮佷笌闈炲彈鎺т唬鐮佽繘琛屼氦浜掓椂浼氫駭鐢熶竴涓簨鍔★紙transition錛?錛岃繖閫氬父鍙戠敓鍦ㄤ嬌鐢ㄥ鉤鍙拌皟鐢ㄦ湇鍔★紙Platform Invocation Services錛夛紝鍗砅/Invoke

聽聽聽 濡傝皟鐢ㄧ郴緇熺殑 API 鎴栦笌 COM 瀵硅薄鎵撲氦閬擄紝閫氳繃 System.Runtime.InteropServices 鍛藉悕絀洪棿

聽聽聽 铏界劧浣跨敤 Interop 闈炲父鏂逛究錛屼絾鎹及璁℃瘡嬈¤皟鐢ㄤ簨鍔¢兘瑕佹墽琛?10 鍒?40 鏉℃寚浠わ紝綆楄搗鏉ュ紑閿涔熶笉灝戯紝鎵浠ユ垜浠灝介噺灝戣皟鐢ㄤ簨鍔?/p>

聽聽聽 濡傛灉闈炵敤涓嶅彲錛屽緩璁湰鐫涓嬈¤皟鐢ㄦ墽琛屽涓姩浣滐紝鑰屼笉鏄嬈¤皟鐢ㄦ瘡嬈″彧鎵ц灝戦噺鍔ㄤ綔鐨勫師鍒?/p>

聽聽聽 [NextPage]

聽聽 22.StringBuilder 鍜?String 鐨勫尯鍒紵

聽聽聽 絳旓細

聽聽聽 String 铏界劧鏄竴涓紩鐢ㄧ被鍨嬶紝浣嗗湪璧嬪兼搷浣滄椂浼氫駭鐢熶竴涓柊鐨勫璞★紝鑰?StringBuilder 鍒欎笉浼?/p>

聽聽聽 鎵浠ュ湪澶ч噺瀛楃涓叉嫾鎺ユ垨棰戠箒瀵規煇涓瀛楃涓茶繘琛屾搷浣滄椂鏈濂戒嬌鐢?StringBuilder錛屼笉瑕佷嬌鐢?String

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example22 { class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { const int cycle = 100000錛?/p>

聽聽聽 long vTickCount = Environment.TickCount錛汼tring str = null錛沠or 錛坕nt i = 0錛?i < cycle錛?i++錛?/p>

聽聽聽 str += i.ToString錛堬級錛汣onsole.WriteLine錛?String錛?{0} MSEL"錛?Environment.TickCount - vTickCount錛夛紱

聽聽聽 vTickCount = Environment.TickCount錛?/鐪嬪埌榪欎釜鍙橀噺鍚嶆垜灝辯敓姘旓紝濂囨負浠涔堝ぇ瀹墮兘浣垮畠鍛紵 錛氾級

聽聽聽 StringBuilder sb = new StringBuilder錛堬級錛沠or 錛坕nt i = 0錛?i < cycle錛?i++錛?/p>

聽聽聽 sb.Append錛坕錛夛紱Console.WriteLine錛?StringBuilder錛?{0} MSEL"錛?Environment.TickCount - vTickCount錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛歋tring錛?102047 MSEL StringBuilder錛?46 MSEL

聽聽聽 23.explicit 鍜?implicit 鐨勫惈涔夛紵

聽聽聽 絳旓細

聽聽聽 explicit 鍜?implicit 灞炰簬杞崲榪愮畻絎︼紝濡傜敤榪欎袱鑰呭彲浠ヨ鎴戜滑鑷畾涔夌殑綾誨瀷鏀寔鐩鎬簰浜ゆ崲

聽聽聽 explicti 琛ㄧず鏄懼紡杞崲錛屽浠?A -> B 蹇呴』榪涜寮哄埗綾誨瀷杞崲錛圔 = 錛圔錛堿錛?/p>

聽聽聽 implicit 琛ㄧず闅愬紡杞崲錛屽浠?B -> A 鍙渶鐩存帴璧嬪鹼紙A = B錛?/p>

聽聽聽 闅愬紡杞崲鍙互璁╂垜浠殑浠g爜鐪嬩笂鍘繪洿婕備寒銆佹洿綆媧佹槗鎳傦紝鎵浠ユ渶濂藉浣跨敤 implicit 榪愮畻絎︺備笉榪囷紒濡傛灉瀵硅薄鏈韓鍦ㄨ漿鎹㈡椂浼氭崯澶變竴浜涗俊鎭紙濡傜簿搴︼級錛岄偅涔堟垜浠彧鑳戒嬌鐢?explicit 榪愮畻絎︼紝浠ヤ究鍦ㄧ紪璇戞湡灝辮兘璀﹀憡瀹㈡埛璋冪敤绔?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example23 { class Program { //鏈緥鐏墊劅鏉ユ簮浜庡ぇ璇濊タ娓哥粡鍏稿彴璇嶁滅浠欙紵濡栨紵鈥濃斺斾富瑕佹槸鎴戝疄鍦ㄦ兂涓嶅嚭浠涔堝ソ渚嬪瓙浜哻lass Immortal { public string name錛沺ublic Immortal錛坰tring Name錛?/p>

聽聽聽 { name = Name錛泒 public static implicit operator Monster錛圛mmortal value錛?/p>

聽聽聽 { return new Monster錛坴alue.name + "錛氱浠欏彉濡栨紵鍋峰伔涓嬪嚒鍗沖彲鈥︹?錛夛紱} class Monster { public string name錛沺ublic Monster錛坰tring Name錛?/p>

聽聽聽 { name = Name錛泒 public static explicit operator Immortal錛圡onster value錛?/p>

聽聽聽 { return new Immortal錛坴alue.name + "錛氬鎬兂褰撶浠欙紵鍐嶅幓淇偧浜旂櫨騫達紒"錛夛紱} static void Main錛坰tring[] args錛?/p>

聽聽聽 { Immortal tmpImmortal = new Immortal錛?绱湠浠欏瓙"錛夛紱//闅愬紡杞崲Monster tmpObj1 = tmpImmortal錛汣onsole.WriteLine錛坱mpObj1.name錛夛紱

聽聽聽 Monster tmpMonster = new Monster錛?瀛欐偀絀?錛夛紱//鏄懼紡杞崲Immortal tmpObj2 = 錛圛mmortal錛塼mpMonster錛汣onsole.WriteLine錛坱mpObj2.name錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛氱傳闇炰粰瀛愶細紲炰粰鍙樺鎬紵鍋峰伔涓嬪嚒鍗沖彲鈥︹?/p>

聽聽聽 瀛欐偀絀猴細濡栨兂褰撶浠欙紵鍐嶅幓淇偧浜旂櫨騫達紒

聽聽聽 24.params 鏈変粈涔堢敤錛?/p>

聽聽聽 絳旓細

聽聽聽 params 鍏抽敭瀛楀湪鏂規硶鎴愬憳鐨勫弬鏁板垪琛ㄤ腑浣跨敤錛屼負璇ユ柟娉曟彁渚涗簡鍙傛暟涓暟鍙彉鐨勮兘鍔?/p>

聽聽聽 瀹冨湪鍙兘鍑虹幇涓嬈″茍涓斾笉鑳藉湪鍏跺悗鍐嶆湁鍙傛暟瀹氫箟錛屼箣鍓嶅彲浠?/p>

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace ConsoleApplication1 { class App { //絎竴涓弬鏁板繀欏繪槸鏁村瀷錛屼絾鍚庨潰鐨勫弬鏁頒釜鏁版槸鍙彉鐨勩?/p>

聽聽聽 //鑰屼笖鐢變簬瀹氱殑鏄痮bject鏁扮粍錛屾墍鏈夌殑鏁版嵁綾誨瀷閮藉彲浠ュ仛涓哄弬鏁頒紶鍏ublic static void UseParams錛坕nt id錛?params object[] list錛?/p>

聽聽聽 { Console.WriteLine錛坕d錛夛紱for 錛坕nt i = 0錛?i < list.Length錛?i++錛?/p>

聽聽聽 { Console.WriteLine錛坙ist[i]錛夛紱}

聽聽聽 static void Main錛堬級

聽聽聽 { //鍙彉鍙傛暟閮ㄥ垎浼犲叆浜嗕笁涓弬鏁幫紝閮芥槸瀛楃涓茬被鍨婾seParams錛?錛?"a"錛?"b"錛?"c"錛夛紱//鍙彉鍙傛暟閮ㄥ垎浼犲叆浜嗗洓涓弬鏁幫紝鍒嗗埆涓哄瓧絎︿覆銆佹暣鏁般佹誕鐐規暟鍜屽弻綺懼害嫻偣鏁版暟緇刄seParams錛?錛?"d"錛?100錛?33.33錛?new double[] { 1.1錛?2.2 }錛夛紱

聽聽聽 Console.ReadLine錛堬級錛泒緇撴灉錛? a b c 2 d 100 33.33 System.Double[]

聽聽聽 25.浠涔堟槸鍙嶅皠錛?/p>

聽聽聽 絳旓細

聽聽聽 鍙嶅皠錛孯eflection錛岄氳繃瀹冩垜浠彲浠ュ湪榪愯鏃惰幏寰楀悇縐嶄俊鎭紝濡傜▼搴忛泦銆佹ā鍧椼佺被鍨嬨佸瓧孌點佸睘鎬с佹柟娉曞拰浜嬩歡

聽聽聽 閫氳繃瀵圭被鍨嬪姩鎬佸疄渚嬪寲鍚庯紝榪樺彲浠ュ鍏舵墽琛屾搷浣?/p>

聽聽聽 涓鑸敤浜庢彃浠跺紡妗嗘灦紼嬪簭鍜岃璁℃ā寮忕殑瀹炵幇錛屽綋鐒跺弽灝勬槸涓縐嶆墜孌靛彲浠ュ厖鍒嗗彂鎸ュ叾鑳介噺鏉ュ畬鎴愪綘鎯沖仛鐨勪換浣曚簨鎯咃紙鍓嶉潰濂借薄瑙佽繃涓浣嶉珮浜虹敤鍙嶅皠璋冪敤涓涓畼鏂圭被搴撲腑鏈鏄庣殑鍑芥暟鈥︹︼級

聽聽聽 紺轟緥錛?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 namespace Example25Lib { public class Class1 { private string name錛沺rivate int age錛?/p>

聽聽聽 //濡傛灉鏄懼紡鐨勫0鏄庝簡鏃犲弬鏁版瀯閫犲嚱鏁幫紝瀹㈡埛绔彧闇瑕佺敤紼嬪簭闆嗙殑CreateInstance鍗沖彲瀹炰緥鍖栬綾?/鍦ㄦ鐗規剰涓嶅疄鐜幫紝浠ヤ究鍦ㄥ鎴瘋皟鐢ㄧ浣撶幇鏋勯犲嚱鏁扮殑鍙嶅皠瀹炵幇//public Class1錛堬級

聽聽聽 //{ //} public Class1錛坰tring Name錛?int Age錛?/p>

聽聽聽 { name = Name錛沘ge = Age錛泒 public void ChangeName錛坰tring NewName錛?/p>

聽聽聽 { name = NewName錛泒 public void ChangeAge錛坕nt NewAge錛?/p>

聽聽聽 { age = NewAge錛泒 public override string ToString錛堬級

聽聽聽 { return string.Format錛?Name錛?{0}錛?Age錛?{1}"錛?name錛?age錛夛紱}鍙嶅皠瀹炰緥鍖栧璞″茍璋冪敤鍏舵柟娉曪紝灞炴у拰浜嬩歡鐨勫弽灝勮皟鐢ㄧ暐鍘?/p>

聽聽聽 using System錛泆sing System.Collections.Generic錛泆sing System.Text錛?/p>

聽聽聽 //娉ㄦ剰娣誨姞璇ュ弽灝勭殑鍛藉悕絀洪棿using System.Reflection錛?/p>

聽聽聽 namespace Example25 { class Program { static void Main錛坰tring[] args錛?/p>

聽聽聽 { //鍔犺澆紼嬪簭闆咥ssembly tmpAss = Assembly.LoadFile錛圓ppDomain.CurrentDomain.BaseDirectory + "Example25Lib.dll"錛夛紱

聽聽聽 //閬嶅巻紼嬪簭闆嗗唴鎵鏈夌殑綾誨瀷錛屽茍瀹炰緥鍖朤ype[] tmpTypes = tmpAss.GetTypes錛堬級錛沠oreach 錛圱ype tmpType in tmpTypes錛?/p>

聽聽聽 { //鑾峰彇絎竴涓被鍨嬬殑鏋勯犲嚱鏁頒俊鎭疌onstructorInfo[] tmpConsInfos = tmpType.GetConstructors錛堬級錛沠oreach 錛圕onstructorInfo tmpConsInfo in tmpConsInfos錛?/p>

聽聽聽 { //涓烘瀯閫犲嚱鏁扮敓鎴愯皟鐢ㄧ殑鍙傛暟闆嗗悎ParameterInfo[] tmpParamInfos = tmpConsInfo.GetParameters錛堬級錛沷bject[] tmpParams = new object[tmpParamInfos.Length]錛沠or 錛坕nt i = 0錛?i < tmpParamInfos.Length錛?i++錛?/p>

聽聽聽 { tmpParams[i] = tmpAss.CreateInstance錛坱mpParamInfos[i].ParameterType.FullName錛夛紱if 錛坱mpParamInfos[i].ParameterType.FullName == "System.String"錛?/p>

聽聽聽 { tmpParams[i] = "Clark"錛泒

聽聽聽 //瀹炰緥鍖栧璞bject tmpObj = tmpConsInfo.Invoke錛坱mpParams錛夛紱Console.WriteLine錛坱mpObj錛夛紱

聽聽聽 //鑾峰彇鎵鏈夋柟娉曞茍鎵цforeach 錛圡ethodInfo tmpMethod in tmpType.GetMethods錛堬級錛?/p>

聽聽聽 { //涓烘柟娉曠殑璋冪敤鍒涘緩鍙傛暟闆嗗悎tmpParamInfos = tmpMethod.GetParameters錛堬級錛泃mpParams = new object[tmpParamInfos.Length]錛沠or 錛坕nt i = 0錛?i < tmpParamInfos.Length錛?i++錛?/p>

聽聽聽 { tmpParams[i] = tmpAss.CreateInstance錛坱mpParamInfos[i].ParameterType.FullName錛夛紱if 錛坱mpParamInfos[i].ParameterType.FullName == "System.String"錛?/p>

聽聽聽 { tmpParams[i] = "Clark Zheng"錛泒 if 錛坱mpParamInfos[i].ParameterType.FullName == "System.Int32"錛?/p>

聽聽聽 { tmpParams[i] = 27錛泒 tmpMethod.Invoke錛坱mpObj錛?tmpParams錛夛紱}

聽聽聽 //璋冪敤瀹屾柟娉曞悗鍐嶆鎵撳嵃瀵硅薄錛屾瘮杈冪粨鏋淐onsole.WriteLine錛坱mpObj錛夛紱}



浜戦噹 2008-03-22 01:30 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲精华国产精华精华液网站| 亚洲精品欧洲精品| 亚洲AV无码资源在线观看| 国产桃色在线成免费视频| 亚洲视频一区在线| 日韩人妻无码精品久久免费一| 国产l精品国产亚洲区在线观看| 久久av免费天堂小草播放| 亚洲永久精品ww47| 久久久久免费精品国产| 亚洲国产精品久久久久网站| 中文字幕亚洲免费无线观看日本| 7777久久亚洲中文字幕蜜桃 | 国内免费高清在线观看| xxx毛茸茸的亚洲| 最近最新的免费中文字幕| 亚洲熟女精品中文字幕| 波多野结衣视频在线免费观看| 免费一级毛片在线播放放视频| 伊人婷婷综合缴情亚洲五月| 97人妻精品全国免费视频| 亚洲色图黄色小说| 毛片免费视频在线观看| 亚洲a∨无码精品色午夜| 亚洲国产精品尤物YW在线观看| 中文字幕免费在线观看动作大片| 亚洲av午夜成人片精品网站| 亚欧色视频在线观看免费| 亚洲熟女乱色一区二区三区| 国产啪亚洲国产精品无码 | 美女内射无套日韩免费播放| 亚洲免费闲人蜜桃| 国产又粗又猛又爽又黄的免费视频| 一级毛片在线播放免费| 日木av无码专区亚洲av毛片| 性感美女视频在线观看免费精品| 黄页网址大全免费观看12网站| 亚洲av中文无码乱人伦在线r▽| 成年网站免费视频A在线双飞| 水蜜桃视频在线观看免费| 亚洲视频在线观看|