锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 紿椾綋闂翠紶閫掓暟鎹紝鏃犺鏄埗紿椾綋鎿嶄綔瀛愮獥浣擄紝榪樻槸瀛愮獥浣撴搷浣滅紿椾綋錛屾湁浠ヤ笅鍑犵鏂瑰紡錛?/strong> 涓銆侀氳繃闈欐佸彉閲?/strong> 鐗圭偣錛氫紶鍊兼槸鍙屽悜鐨勶紝瀹炵幇綆鍗?/strong> 瀹炵幇浠g爜濡備笅錛?/strong> 鍦ㄤ竴涓?span face="Times New Roman" style="margin: 0px; padding: 0px;">app綾諱腑瀹氫箟涓涓潤鎬佹垚鍛?span face="Times New Roman" style="margin: 0px; padding: 0px;">value public class app { public static string value; } 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1涓繖鏍瘋皟鐢?/span> app.value = "f2"; //緇欓潤鎬佹垚鍛樿祴鍊?/span> new Form2 ( ).Show ( ); //鏄劇ずForm2 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2涓?/span> this.Text = app.value; //鍙栧洖app.value鐨勫?/span> app.value = "Form2"; //緇?span face="Times New Roman" style="margin: 0px; padding: 0px;">app.value璧嬪鹼紝浠ヤ究鍏朵粬紿椾綋璋冪敤 浜屻佸叕鍏卞彉閲?/span>浼犲?/span> 榪欑鏂規(guī)硶灝辨槸鍒╃敤涓涓叕鍏卞彉閲忥紝鍏堟妸闇瑕佺殑鍊煎瓨鏀懼埌榪欎釜鍏叡鍙橀噺錛岀劧鍚庨渶瑕佺殑鏃跺欏啀閫氳繃璇誨彇璇ュ彉閲忕殑鍊兼潵浣跨敤 渚嬪瓙 Form1錛?/p> public static string Form1Value; // 娉ㄦ剰錛屽繀欏葷敵鏄庝負static鍙橀噺 private void button1_Click(object sender, EventArgs e) { Form1Value = "鏉ヨ嚜Form1"; new Form2().Show(); } Form2錛?/p> private void Form_Load(object sender, EventArgs e) { MessageBox.Show(Form1.Form1Value); } 榪欑鏂瑰紡浼犲鹼紝鐞嗚В鍜屼嬌鐢ㄤ笂閮界浉瀵圭殑綆鍗曪紝浣嗘槸瀹規(guī)槗璁╁彉閲忎覆鍊鹼紝姣斿絎竴嬈′慨鏀逛負“a”錛岃岀浜屾淇敼涓?#8220;b”錛屽垯鏈夊彲鑳芥湰鏉ラ渶瑕?#8220;a”鍊肩殑緇撴灉鍙樻垚浜?#8220;b”銆?/p> 涓夈侀潤鎬佹柟娉曟柟寮忚闂?/strong> 榪欑鏂規(guī)硶涓庝紶鍊兼柟娉曠殑絎竴縐嶆湁浜涚被浼鹼紝灝辨槸灝嗛渶瑕佽鍏朵粬紿椾綋璁塊棶鐨勬柟娉曠敤static瀹氫箟錛屼互渚垮叾浠栦紶閫掑彲浠ョ洿鎺ヨ闂埌 渚嬪瓙錛?/p> Form1: private void button1_Click(object sender, EventArgs e) { new Form2().Show(); } public static void FF() { MessageBox.Show("Form1鏂規(guī)硶"); } Form2: private void Form_Load(object sender, EventArgs e) { Form1.FF(); } 浣跨敤榪欑鏂規(guī)硶璁塊棶鍏朵粬紿椾綋鐨勬柟娉曪紝鍦ㄨ法紿椾綋涓婂疄鐜版柟渚匡紝浣嗘槸闇瑕侀渶瑕佽闂埌鎺т歡鍊煎垯涓嶈兘鐩存帴璁塊棶錛岄渶瑕佸皢鍊煎厛浼犻掔粰鍏朵粬紿椾綋錛屽啀鏈夌獥浣撲紶閫掑洖鏉ワ紝鎴栬呭瓨鍌ㄥ湪鍏朵粬鍙橀噺鍚庡榪欏彉閲忚繘琛岃闂?/p> 鍥涖侀氳繃紿椾綋鐨勫叕鏈夊睘鎬у?/strong> 鐗圭偣錛氬疄鐜扮畝鍗?/strong> 瀹炵幇浠g爜濡備笅錛?/strong> 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2涓畾涔変竴涓叕鏈夊睘鎬?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2Value,鑾峰彇鍜岃緗?span face="Times New Roman" style="margin: 0px; padding: 0px;">textBox1鐨勬枃鏈?/p> public string Form2Value { get { return this.textBox1.Text; } set { this.textBox1.Text = value; } } 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1涓繖鏍瘋皟鐢?/p> Form2 f2 = new Form2 ( ); f2.Form2Value = "Ok"; //緇?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2鐨?span face="Times New Roman" style="margin: 0px; padding: 0px;">textBox1璧嬪?span face="Times New Roman" style="margin: 0px; padding: 0px;">Ok f2.ShowDialog ( ); 浜斻侀氳繃紿椾綋鐨勫叕鏈夊睘鎬у煎拰Owner灞炴?/strong> 鐗圭偣錛氬疄鐜扮畝鍗?span face="Times New Roman" style="margin: 0px; padding: 0px;">,鐏墊椿 瀹炵幇浠g爜濡備笅錛?/span> 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1涓?/span> public int Form1Value = 1; Form2 f2 = new Form2 ( ); f2.ShowDialog ( this ); //鎶?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1浣滀負Form2鐨勬墍鏈夎呬紶閫掔粰Form2 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2涓?/span> //Form2鐨勬墍鏈夎呮槸Form1 Form1 f1 = ( Form1 ) this.Owner; //鍙栧埌Form1鐨勫兼槸1 MessageBox.Show ( f1.Form1Value .ToString ( ) ); //緇?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1鐨?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1Value璧嬪?span face="Times New Roman" style="margin: 0px; padding: 0px;">222 f1.Form1Value = 222; 鍏?/span>閫氳繃紿椾綋鐨勫叕鏈夊睘鎬у煎拰Application.OpenForms灞炴?/strong> 璇存槑錛?span face="Times New Roman" style="margin: 0px; padding: 0px;">Application.OpenForms灞炴э細鑾峰彇灞炰簬搴旂敤紼嬪簭鐨勬墦寮紿椾綋鐨勯泦鍚堛?span face="Times New Roman" style="margin: 0px; padding: 0px;">(姝ゅ睘鎬у湪.NET Framework2.0鐗堜腑) 瀹炵幇浠g爜濡備笅錛?/span> 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1涓?/span> public int Form1Value = 1; Form2 f2 = new Form2 ( ); f2.Show ( ); 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2涓?/span> string formName = "Form1"; Form fr = Application.OpenForms [ formName ]; if ( fr != null ) { Form1 f1 = ( Form1 ) fr; //鍙栧埌Form1鐨勫兼槸1 MessageBox.Show ( f1.Form1Value.ToString ( ) ); //緇?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1鐨?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1Value璧嬪?span face="Times New Roman" style="margin: 0px; padding: 0px;">222 f1.Form1Value = 222; } 涓冦佷紶鍙傚紡浼犲?/span> 姝ゆ柟娉曢【鍚嶆濅箟灝辨槸灝嗛渶瑕佺殑鍊間竴鍙傛暟褰㈠紡浼犻掔粰闇瑕佸肩殑紿椾綋 渚嬪瓙錛?/span> Form1錛?/span> private void button1_Click(object sender, EventArgs e) { new Form2("鏉ヨ嚜Form1").Show(); } Form2: public Form2(string value) { InitializeComponent(); MessageBox.Show(vaue); } 姝ょ紿椾綋闂翠紶鍊兼柟娉曟槑鏄句紭涓庣涓縐嶇殑浼犲煎弬鏁幫紝涔熶笉浼氬嚭鐜頒覆鏁版嵁鐜拌薄錛屼絾鏄渶瑕佹敞鎰忎慨鏀笷orm2鐨勬瀯閫犲嚱鏁幫紝姣忎釜紿椾綋鐨勯粯璁ゆ瀯閫犲嚱鏁伴粯璁ら兘鏄棤鍙傛暟鐨勶紝鍥犳闇瑕佸幓淇敼鏋勯犲嚱鏁般?/span> 鍏侀氳繃鏋勯犲嚱鏁?/strong> 鐗圭偣錛氫紶鍊兼槸鍗曞悜鐨勶紙涓嶅彲浠ヤ簰鐩鎬紶鍊鹼級錛屽疄鐜扮畝鍗?/strong> 瀹炵幇浠g爜濡備笅錛?/strong> 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2涓?/span> int value1; string value2; public Form2 ( int value1 , string value2 ) { InitializeComponent ( ); this.value1 = value1; this.value2 = value2; } 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1涓繖鏍瘋皟鐢?/span> new Form2 ( 111 , "222" ).Show ( ); //榪欐牱灝辨妸111,"222",榪?span face="Times New Roman" style="margin: 0px; padding: 0px;">2涓間紶閫佺粰浜?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2 涔?jié)銆佺敤濮旀墭鏉ュ疄鐜般?/span> 濮旀墭鍙互鎶婁竴涓柟娉曚綔涓哄弬鏁板甫鍏ュ彟涓涓柟娉曪紝鍦ㄧ獥浣撲紶鍊間腑錛屽瓙紿椾綋闇瑕佹墽琛屼竴涓柟娉曟潵鏀瑰彉鐖剁獥浣撶殑鍊鹼紝 鑰岃繖涓柟娉曪紝鍒欏彲浠ョ敤濮旀墭浠庣埗紿椾綋浼犻掕繃鏉ャ傚湪鐖剁獥浣撲腑錛屽0鏄庝慨鏀規(guī)枃鏈鐨勬柟娉旳fterChildChange錛屽湪new涓涓瓙紿椾綋鐨勬椂鍊欙紝灝嗚繖涓柟娉曚紶閫掔粰瀛愮獥浣撱傞偅涔堝綋瀛愮獥浣撶偣鍑誨悓姝ユ寜閽椂錛屼細鎵ц鐖剁獥浣撶殑AfterChildChange鏂規(guī)硶錛屽凡杈懼埌淇敼鏂囨湰妗嗗肩殑鐩殑銆?/span> 渚嬪瓙 1銆佸湪瀛愮獥浣撲腑璁劇疆涓涓鎵樼被鍨嬬殑灞炴э細 public Action<string> AfterChangeTextDel { get; set; } 2銆佸湪瀛愮獥浣撳悓姝ユ寜閽腑錛?/span> if (AfterChangeTextDel != null) 3銆佸湪鐖剁獥浣撲腑娣誨姞鏂規(guī)硶錛?/span> public void AfterChildChange(string text) 4銆佸湪鐖剁獥浣撳惎鍔ㄥ瓙紿椾綋鎸夐挳錛?/span> ChildFrm frm =new ChildFrm(); frm.AfterChangeTextDel = new Action<string>(this.AfterChildChange); frm.Show(); 5銆佽繖鏍蜂篃鑳藉疄鐜扮獥浣撲紶鍊鹼紝瀛愮獥浣撶殑濮旀墭鍙互鍦ㄧ埗紿椾綋 鍏朵粬鍦版柟鍙互榪涜鐩存帴鎵ц銆傦細瑙e喅姝ら棶棰樸傚井杞紩鍏ヤ簡浜嬩歡銆?/span> 鍗併佺敤浜嬩歡鏉ュ疄鐜?/strong> 浜嬩歡鏄鎵樼被鍨嬬殑瀵硅薄銆傚畠鍐呴儴鏄敤濮旀墭鏉ュ疄鐜扮殑錛屽浜庝簨浠舵潵璇達紝澶栭儴鍙兘娉ㄥ唽鑷繁+=錛屾敞閿鑷繁-=,澶栫晫涓嶅彲浠ユ敞閿鍏朵粬鐨勬敞鍐岃咃紝涔熶笉鑳戒富鍔ㄨЕ鍙戜簨浠躲傝屽鎵樺垯鏃犳硶瀹炵幇榪欎簺鎺у埗錛屽洜姝よ癁鐢熶簡浜嬩歡榪欒瘽鎬昏娉曘?/span> 瀹炵幇浠g爜濡備笅 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2涓畾涔夊叕鏈夊睘鎬?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2Value,鑾峰彇鍜岃緗?span face="Times New Roman" style="margin: 0px; padding: 0px;">textBox1鐨勬枃鏈?/span> 騫朵笖榪樺畾涔変竴涓?span face="Times New Roman" style="margin: 0px; padding: 0px;">accept浜嬩歡 public string Form2Value { get { return this.textBox1.Text; } set { this.textBox1.Text = value; } } public event EventHandler accept; private void button1_Click ( object sender , EventArgs e ) { if ( accept != null ) { accept ( this , EventArgs.Empty ); //褰撶獥浣撹Е鍙戜簨浠訛紝浼犻掕嚜韜紩鐢?/span> } } 鍦ㄧ獥浣?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form1涓?/span> Form2 f2 = new Form2 ( ); f2.accept += new EventHandler ( f2_accept ); f2.Show ( ); void f2_accept ( object sender , EventArgs e ) { //浜嬩歡鐨勬帴鏀惰呴氳繃涓涓畝鍗曠殑綾誨瀷杞崲寰楀埌Form2鐨勫紩鐢?/span> Form2 f2 = (Form2) sender; //鎺ユ敹鍒?span face="Times New Roman" style="margin: 0px; padding: 0px;">Form2鐨?span face="Times New Roman" style="margin: 0px; padding: 0px;">textBox1.Text this.textBox1.Text = f2.Form2Value; }
{
AfterChangeTextDel(this.textBox1.Text);//鎵ц濮旀墭
}
{
txtName.Text = text;
}
]]>
鎺т歡閮芥槸鏈嶅姟鍣ㄧ鐨勬帶浠? 濡傛灉浣犵殑鎺т歡璁句負鑷姩鍥炲彂鍒版湇鍔″櫒錛堝嵆AutoPostBack灞炴ц涓篢rue錛夛紝鎵ц姣忔鎿嶄綔閮戒細鎻愪氦鍒板悗鍙板鐞?灝辨槸鎵璋撶殑鍚庡彴浠g爜錛屽嵆浠.aspx.cs]緇撳熬鐨勯〉闈?,涔熷氨瑕佸湪鍐嶆鍔犺澆欏甸潰鐨勫悓鏃跺仛鍑虹浉搴旂殑鎿嶄綔錛屾墍浠ュ厛鍐嶆鎵цpage_load浜嬩歡錛屾墽琛屼簡 if(!page.IsPostBack){}澶栫殑浠g爜 鍚庡啀鎵ц鍏跺畠鐨勬搷浣滐紙浣犲湪欏甸潰涓婄殑鎿嶄綔錛夈傚鐞嗗畬鍐嶅洖鍙戝埌錛屽嵆璺寵漿鍒扮浉搴旂殑欏甸潰銆傚鏋滆繕鏄洖鍙戝埌鍘熸潵鐨勯〉闈紝鍒欒繖鏃跺欒欏甸潰灝變笉鏄涓嬈″姞杞戒簡錛岃屾槸淇楃О鐨勫洖浼犻〉銆?/p>
鎶?if(!page.IsPostBack){ 榪欓噷鏄嬈″姞杞介〉闈㈡椂瑕佸疄鐜扮殑鍔熻兘浠g爜錛泒 浠g爜鍐欏湪page_load浜嬩歡涓?span style="color: red">榪?/span>鍙互浣跨敤if(!IsPostBack)鏉ュ垽鏂?#8212;—鏄惁鏄綋鍓嶉〉闈㈡帶浠剁殑鎿嶄綔 錛侊紒
}
private void toolStrip1_MouseUp(object sender, MouseEventArgs e)
{
isMouseDown = false;
}
private void toolStrip1_MouseMove(object sender, MouseEventArgs e)
{
int _x = 0;
int _y = 0;
if (isMouseDown)
{
Point pt = Control.MousePosition;
_x = mouseOffset.X - pt.X;
_y = mouseOffset.Y - pt.Y;
this.Location = new Point(FormLocation.X - _x, FormLocation.Y - _y);
}
}
ComputeHash 鏂規(guī)硶榪斿洖鐨勬槸鍝堝笇鍊煎瓧鑺傛暟緇勶紝鑰屾枃浠剁殑 MD5 鍊奸氬父鏄敤16榪涘埗鐨勫瓧絎︿覆琛ㄧず錛?font face="Verdana">瀛楄妭鏁扮粍杞崲涓?6榪涘埗琛ㄧず鐨勫瓧絎︿覆鐨勬柟娉曞湪 System.Web.Configuration.MachineKeySection 涓凡緇忔彁渚涗簡涓涓悕涓?span class="Apple-converted-space"> ByteArrayToHexString 鏂規(guī)硶錛屼絾鏄鏂規(guī)硶鏄?font face="Verdana">NonPublic 鐨勶紝鎴戜滑涓嶈兘鐩存帴璋冪敤銆傝繖閲屾垜浠?font face="Verdana">閫氳繃鍙嶅皠鏉ヨ皟鐢?MachineKeySection 涓殑 ByteArrayToHexString 鏂規(guī)硶銆?/font>
閫氳繃鍙嶅皠璋冪敤 MachineKeySection 涓殑 ByteArrayToHexString 鏂規(guī)硶錛?/span>濡備粖“MD5紕版挒鐢熸垚鍣?#8221;鐨勫嚭鐜幫紝浣?MD5 涔熸鍦ㄩ潰涓存寫鎴樸?/p>
欏轟究浠嬬粛涓涓?MD5 宸ュ叿 Md5Checker錛孧d5Checker 鏄竴嬈懼厤璐廣佸揩閫熴佸皬宸с佹槗鐢ㄧ殑鏂囦歡 MD5 鍊艱綆椼侀獙璇併佺鐞嗚蔣浠躲侻d5Checker 鐨勫畼鏂圭綉绔欐槸錛?font face="Verdana">http://cn.getmd5checker.com/
鏁版嵁搴撻噷鏈変釜緇撴潫鏃墮棿錛?鎴戠櫥褰曠殑鏃跺欒鑾峰彇緋葷粺鏃墮棿鍜?鏁版嵁搴撻噷鐨勬椂闂村仛瀵規(guī)瘮錛佹病鍒扮粨鏉熸椂闂?鍙互鐧誨綍 鍒頒簡灝變笉鍙互鐧誨綍
楠岃瘉涓枃鐨勬鍒欒〃杈懼紡闆嗗悎
楠岃瘉鎵鏈変笢浜氬尯鐨勮璦錛歗[\?-\?]+$
楠岃瘉綆浣撳拰綣佷綋錛歗[\涓-\?]+$
楠岃瘉綆浣擄細^[\涓-\榫+$
浣跨敤鏂規(guī)硶濡備笅
浣跨敤Regex瀵硅薄鍏堝紩鐢⊿ystem.Text.RegularExpressions
string s="^[0-9]*$";//姝e垯琛ㄨ揪寮?br style="line-height: normal" />Regex reg=new Regex(s);
if(!reg.IsMatch(this.textbox1.text))
{
MessageBox.Show("璇瘋緭鍏ユ暟瀛?);
}
鍚勫紡鍚勬牱鐨勬鍒欒〃杈懼紡鍙傝冨ぇ鍏紙璁塊棶姝e垯琛ㄨ揪寮忓疄渚嬪簱錛夛細
^\d+$銆銆//鍖歸厤闈炶礋鏁存暟錛堟鏁存暟 + 0錛?銆
//鍖歸厤鏁存暟 ^\d+(\.\d+)?$銆銆//鍖歸厤闈炶礋嫻偣鏁幫紙姝f誕鐐規(guī)暟 + 0錛?span class="Apple-converted-space">
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$銆銆//鍖歸厤姝f誕鐐規(guī)暟
^((-\d+(\.\d+)?)|(0+(\.0+)?))$銆銆//鍖歸厤闈炴嫻偣鏁幫紙璐熸誕鐐規(guī)暟 + 0錛?span class="Apple-converted-space">
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$銆銆//鍖歸厤璐熸誕鐐規(guī)暟
^(-?\d+)(\.\d+)?$銆銆//鍖歸厤嫻偣鏁?span class="Apple-converted-space">
^[A-Za-z]+$ //鍖歸厤鐢?6涓嫳鏂囧瓧姣嶇粍鎴愮殑瀛楃涓?span class="Apple-converted-space">
^[A-Z]+$銆 //鍖歸厤鐢?6涓嫳鏂囧瓧姣嶇殑澶у啓緇勬垚鐨勫瓧絎︿覆
^[a-z]+$銆銆//鍖歸厤鐢?6涓嫳鏂囧瓧姣嶇殑灝忓啓緇勬垚鐨勫瓧絎︿覆
^[A-Za-z0-9]+$銆銆//鍖歸厤鐢辨暟瀛楀拰26涓嫳鏂囧瓧姣嶇粍鎴愮殑瀛楃涓?span class="Apple-converted-space">
^\w+$銆銆//鍖歸厤鐢辨暟瀛椼?6涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎緇勬垚鐨勫瓧絎︿覆
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$銆銆銆銆//鍖歸厤email鍦板潃
^[a-zA-z]+://鍖歸厤(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$銆銆//鍖歸厤url
鍖歸厤涓枃瀛楃鐨勬鍒欒〃杈懼紡錛?[\u4e00-\u9fa5]
鍖歸厤鍙屽瓧鑺傚瓧絎?鍖呮嫭姹夊瓧鍦ㄥ唴)錛歔^\x00-\xff]
鍖歸厤絀鴻鐨勬鍒欒〃杈懼紡錛歕n[\s| ]*\r
鍖歸厤HTML鏍囪鐨勬鍒欒〃杈懼紡錛?<(.*)>.*<\/>|<(.*) \/>/
鍖歸厤棣栧熬絀烘牸鐨勬鍒欒〃杈懼紡錛?^\s*)|(\s*$)
鍖歸厤Email鍦板潃鐨勬鍒欒〃杈懼紡錛歕w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
鍖歸厤緗戝潃URL鐨勬鍒欒〃杈懼紡錛歗[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
鍖歸厤甯愬彿鏄惁鍚堟硶(瀛楁瘝寮澶達紝鍏佽5-16瀛楄妭錛屽厑璁稿瓧姣嶆暟瀛椾笅鍒掔嚎)錛歗[a-zA-Z][a-zA-Z0-9_]{4,15}$
鍖歸厤鍥藉唴鐢?shù)璇濆忥L爜錛?\d{3}-|\d{4}-)?(\d{8}|\d{7})?
鍖歸厤鑵捐QQ鍙鳳細^[1-9]*[1-9][0-9]*$
涓嬭〃鏄厓瀛楃鍙婂叾鍦ㄦ鍒欒〃杈懼紡涓婁笅鏂囦腑鐨勮涓虹殑涓涓畬鏁村垪琛紝鍏蜂綋鍒版瘡涓鍒欒〃杈懼紡絎﹀彿錛?span class="Apple-converted-space">
\ 灝嗕笅涓涓瓧絎︽爣璁頒負涓涓壒孌婂瓧絎︺佹垨涓涓師涔夊瓧絎︺佹垨涓涓悗鍚戝紩鐢ㄣ佹垨涓涓叓榪涘埗杞箟絎︺?span class="Apple-converted-space">
^ 鍖歸厤杈撳叆瀛楃涓茬殑寮濮嬩綅緗傚鏋滆緗簡 RegExp 瀵硅薄鐨凪ultiline 灞炴э紝^ 涔熷尮閰?’\n’ 鎴?’\r’ 涔嬪悗鐨勪綅緗?span class="Apple-converted-space">
$ 鍖歸厤杈撳叆瀛楃涓茬殑緇撴潫浣嶇疆銆傚鏋滆緗簡 RegExp 瀵硅薄鐨凪ultiline 灞炴э紝$ 涔熷尮閰?’\n’ 鎴?’\r’ 涔嬪墠鐨勪綅緗?span class="Apple-converted-space">
* 鍖歸厤鍓嶉潰鐨勫瓙琛ㄨ揪寮忛浂嬈℃垨澶氭銆?span class="Apple-converted-space">
+ 鍖歸厤鍓嶉潰鐨勫瓙琛ㄨ揪寮忎竴嬈℃垨澶氭銆? 絳変環(huán)浜?{1,}銆?span class="Apple-converted-space">
? 鍖歸厤鍓嶉潰鐨勫瓙琛ㄨ揪寮忛浂嬈℃垨涓嬈°? 絳変環(huán)浜?{0,1}銆?span class="Apple-converted-space">
{n} n 鏄竴涓潪璐熸暣鏁幫紝鍖歸厤紜畾鐨刵 嬈°?span class="Apple-converted-space">
{n,} n 鏄竴涓潪璐熸暣鏁幫紝鑷沖皯鍖歸厤n 嬈°?span class="Apple-converted-space">
{n,m} m 鍜?n 鍧囦負闈炶礋鏁存暟錛屽叾涓璶 <= m銆傛渶灝戝尮閰?n 嬈′笖鏈澶氬尮閰?m 嬈°傚湪閫楀彿鍜屼袱涓暟涔嬮棿涓嶈兘鏈夌┖鏍箋?span class="Apple-converted-space">
? 褰撹瀛楃绱ц窡鍦ㄤ換浣曚竴涓叾浠栭檺鍒剁 (*, +, ?, {n}, {n,}, {n,m}) 鍚庨潰鏃訛紝鍖歸厤妯″紡鏄潪璐┆鐨勩傞潪璐┆妯″紡灝藉彲鑳藉皯鐨勫尮閰嶆墍鎼滅儲鐨勫瓧絎︿覆錛岃岄粯璁ょ殑璐┆妯″紡鍒欏敖鍙兘澶氱殑鍖歸厤鎵鎼滅儲鐨勫瓧絎︿覆銆?span class="Apple-converted-space">
. 鍖歸厤闄?"\n" 涔嬪鐨勪換浣曞崟涓瓧絎︺傝鍖歸厤鍖呮嫭 ’\n’ 鍦ㄥ唴鐨勪換浣曞瓧絎︼紝璇蜂嬌鐢ㄨ薄 ’[.\n]’ 鐨勬ā寮忋?span class="Apple-converted-space">
(pattern) 鍖歸厤pattern 騫惰幏鍙栬繖涓鍖歸厤銆?(?:pattern) 鍖歸厤pattern 浣嗕笉鑾峰彇鍖歸厤緇撴灉錛屼篃灝辨槸璇磋繖鏄竴涓潪鑾峰彇鍖歸厤錛屼笉榪涜瀛樺偍渚涗互鍚庝嬌鐢ㄣ?(?=pattern) 姝e悜棰勬煡錛屽湪浠諱綍鍖歸厤 pattern 鐨勫瓧絎︿覆寮濮嬪鍖歸厤鏌ユ壘瀛楃涓層傝繖鏄竴涓潪鑾峰彇鍖歸厤錛屼篃灝辨槸璇達紝璇ュ尮閰嶄笉闇瑕佽幏鍙栦緵浠ュ悗浣跨敤銆?(?!pattern) 璐熷悜棰勬煡錛屼笌(?=pattern)浣滅敤鐩稿弽 x|y 鍖歸厤 x 鎴?y銆?span class="Apple-converted-space">
[xyz] 瀛楃闆嗗悎銆?span class="Apple-converted-space">
[^xyz] 璐熷煎瓧絎﹂泦鍚堛?span class="Apple-converted-space">
[a-z] 瀛楃鑼冨洿錛屽尮閰嶆寚瀹氳寖鍥村唴鐨勪換鎰忓瓧絎︺?br style="line-height: normal" />[^a-z] 璐熷煎瓧絎﹁寖鍥達紝鍖歸厤浠諱綍涓嶅湪鎸囧畾鑼冨洿鍐呯殑浠繪剰瀛楃銆?span class="Apple-converted-space">
\b 鍖歸厤涓涓崟璇嶈竟鐣岋紝涔熷氨鏄寚鍗曡瘝鍜岀┖鏍奸棿鐨勪綅緗?span class="Apple-converted-space">
\B 鍖歸厤闈炲崟璇嶈竟鐣屻?span class="Apple-converted-space">
\cx 鍖歸厤鐢眡鎸囨槑鐨勬帶鍒跺瓧絎︺?span class="Apple-converted-space">
\d 鍖歸厤涓涓暟瀛楀瓧絎︺傜瓑浠蜂簬 [0-9]銆?span class="Apple-converted-space">
\D 鍖歸厤涓涓潪鏁板瓧瀛楃銆傜瓑浠蜂簬 [^0-9]銆?br style="line-height: normal" /> \f 鍖歸厤涓涓崲欏電銆傜瓑浠蜂簬 \x0c 鍜?\cL銆?span class="Apple-converted-space">
\n 鍖歸厤涓涓崲琛岀銆傜瓑浠蜂簬 \x0a 鍜?\cJ銆?span class="Apple-converted-space">
\r 鍖歸厤涓涓洖杞︾銆傜瓑浠蜂簬 \x0d 鍜?\cM銆?span class="Apple-converted-space">
\s 鍖歸厤浠諱綍絀虹櫧瀛楃錛屽寘鎷┖鏍箋佸埗琛ㄧ銆佹崲欏電絳夌瓑銆傜瓑浠蜂簬[ \f\n\r\t\v]銆?span class="Apple-converted-space">
\S 鍖歸厤浠諱綍闈炵┖鐧藉瓧絎︺傜瓑浠蜂簬 [^ \f\n\r\t\v]銆?span class="Apple-converted-space">
\t 鍖歸厤涓涓埗琛ㄧ銆傜瓑浠蜂簬 \x09 鍜?\cI銆?br style="line-height: normal" />\v 鍖歸厤涓涓瀭鐩村埗琛ㄧ銆傜瓑浠蜂簬 \x0b 鍜?\cK銆?span class="Apple-converted-space">
\w 鍖歸厤鍖呮嫭涓嬪垝綰跨殑浠諱綍鍗曡瘝瀛楃銆傜瓑浠蜂簬’[A-Za-z0-9_]’銆?br style="line-height: normal" />\W 鍖歸厤浠諱綍闈炲崟璇嶅瓧絎︺傜瓑浠蜂簬 ’[^A-Za-z0-9_]’銆?br style="line-height: normal" />\xn 鍖歸厤 n錛屽叾涓?n 涓哄崄鍏繘鍒惰漿涔夊箋傚崄鍏繘鍒惰漿涔夊煎繀欏諱負紜畾鐨勪袱涓暟瀛楅暱銆?span class="Apple-converted-space">
\num 鍖歸厤 num錛屽叾涓璶um鏄竴涓鏁存暟銆傚鎵鑾峰彇鐨勫尮閰嶇殑寮曠敤銆?span class="Apple-converted-space">
\n 鏍囪瘑涓涓叓榪涘埗杞箟鍊兼垨涓涓悗鍚戝紩鐢ㄣ傚鏋?\n 涔嬪墠鑷沖皯 n 涓幏鍙栫殑瀛愯〃杈懼紡錛屽垯 n 涓哄悗鍚戝紩鐢ㄣ傚惁鍒欙紝濡傛灉 n 涓哄叓榪涘埗鏁板瓧 (0-7)錛屽垯 n 涓轟竴涓叓榪涘埗杞箟鍊箋?span class="Apple-converted-space">
\nm 鏍囪瘑涓涓叓榪涘埗杞箟鍊兼垨涓涓悗鍚戝紩鐢ㄣ傚鏋?\nm 涔嬪墠鑷沖皯鏈塱s preceded by at least nm 涓幏鍙栧緱瀛愯〃杈懼紡錛屽垯 nm 涓哄悗鍚戝紩鐢ㄣ傚鏋?\nm 涔嬪墠鑷沖皯鏈?n 涓幏鍙栵紝鍒?n 涓轟竴涓悗璺熸枃瀛?m 鐨勫悗鍚戝紩鐢ㄣ傚鏋滃墠闈㈢殑鏉′歡閮戒笉婊¤凍錛岃嫢 n 鍜?m 鍧囦負鍏繘鍒舵暟瀛?(0-7)錛屽垯 \nm 灝嗗尮閰嶅叓榪涘埗杞箟鍊?nm銆?\nml 濡傛灉 n 涓哄叓榪涘埗鏁板瓧 (0-3)錛屼笖 m 鍜?l 鍧囦負鍏繘鍒舵暟瀛?(0-7)錛屽垯鍖歸厤鍏?
--------------------------------------------------------------------------------
if(document.getElementById("personalemail").value==null || document.getElementById("personalemail").value==""){
alert("閭涓嶈兘涓虹┖");
return false;
}else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("personalemail").value))){
alert("璇瘋緭鍏ヤ竴涓湁鏁堢殑閭歡鍦板潃");
document.getElementById("personalemail").value="";
return false;
}
var partten = /^1[3,5]\d{9}$/;
if(document.getElementById("cellphone").value==null || document.getElementById("cellphone").value==""){
alert("鎵嬫満鍙風爜涓嶈兘涓虹┖");
document.getElementById("cellphone").focus();
return false;
}else if(isNaN(document.getElementById("cellphone").value) && !partten.test(document.getElementById("cellphone").value)){
alert("鎵嬫満鍙風爜鍙兘鏄暟瀛?騫朵笖鍙兘浠?3鎴?5寮澶村茍涓旈暱搴︽槸11浣?);
document.getElementById("cellphone").focus();
return false;
}
鑾峰彇鏂囦歡鍚嶆柟娉曪細
鐢⊿ystem.IO.Path.GetFileName鍜孲ystem.IO.Path.GetFileNameWithoutExtension錛堟棤鎵╁睍鍚嶏級鐨勬柟娉?/span>
鑾峰彇鏂囦歡璺緞鏂規(guī)硶錛?/span>
//鑾峰彇褰撳墠榪涚▼鐨勫畬鏁磋礬寰勶紝鍖呭惈鏂囦歡鍚?榪涚▼鍚?銆?/span>
string str = this.GetType().Assembly.Location;
result: X:\xxx\xxx\xxx.exe (.exe鏂囦歡鎵鍦ㄧ殑鐩綍+.exe鏂囦歡鍚?
//鑾峰彇鏂扮殑 Process 緇勪歡騫跺皢鍏朵笌褰撳墠媧誨姩鐨勮繘紼嬪叧鑱旂殑涓繪ā鍧楃殑瀹屾暣璺緞錛屽寘鍚枃浠跺悕(榪涚▼鍚?銆?/span>
string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
result: X:\xxx\xxx\xxx.exe (.exe鏂囦歡鎵鍦ㄧ殑鐩綍+.exe鏂囦歡鍚?
//鑾峰彇鍜岃緗綋鍓嶇洰褰曪紙鍗寵榪涚▼浠庝腑鍚姩鐨勭洰褰曪級鐨勫畬鍏ㄩ檺瀹氳礬寰勩?/span>
string str = System.Environment.CurrentDirectory;
result: X:\xxx\xxx (.exe鏂囦歡鎵鍦ㄧ殑鐩綍)
//鑾峰彇褰撳墠 Thread 鐨勫綋鍓嶅簲鐢ㄧ▼搴忓煙鐨勫熀鐩綍錛屽畠鐢辯▼搴忛泦鍐茬獊瑙e喅紼嬪簭鐢ㄦ潵鎺㈡祴紼嬪簭闆嗐?/span>
string str = System.AppDomain.CurrentDomain.BaseDirectory;
result: X:\xxx\xxx\ (.exe鏂囦歡鎵鍦ㄧ殑鐩綍+”\”)
//鑾峰彇鍜岃緗寘鍚搴旂敤紼嬪簭鐨勭洰褰曠殑鍚嶇О銆?/span>
string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
result: X:\xxx\xxx\ (.exe鏂囦歡鎵鍦ㄧ殑鐩綍+”\”)
//鑾峰彇鍚姩浜嗗簲鐢ㄧ▼搴忕殑鍙墽琛屾枃浠剁殑璺緞錛屼笉鍖呮嫭鍙墽琛屾枃浠剁殑鍚嶇О銆?/span>
string str = System.Windows.Forms.Application.StartupPath;
result: X:\xxx\xxx (.exe鏂囦歡鎵鍦ㄧ殑鐩綍)
//鑾峰彇鍚姩浜嗗簲鐢ㄧ▼搴忕殑鍙墽琛屾枃浠剁殑璺緞錛屽寘鎷彲鎵ц鏂囦歡鐨勫悕縐般?/span>
string str = System.Windows.Forms.Application.ExecutablePath;
result: X:\xxx\xxx\xxx.exe (.exe鏂囦歡鎵鍦ㄧ殑鐩綍+.exe鏂囦歡鍚?
//鑾峰彇搴旂敤紼嬪簭鐨勫綋鍓嶅伐浣滅洰褰?涓嶅彲闈?銆?/span>
string str = System.IO.Directory.GetCurrentDirectory();
result: X:\xxx\xxx (.exe鏂囦歡鎵鍦ㄧ殑鐩綍)
C# 鑾峰彇璺緞涓紝鏂囦歡鍚嶃佺洰褰曘佹墿灞曞悕絳?/span>
string path = "C:\\dir1\\dir2\\foo.txt";
string str = "GetFullPath錛? + Path.GetFullPath(path) + "\r\n";
str += "GetDirectoryName錛? + Path.GetDirectoryName(path) + "\r\n";
str += "GetFileName錛? + Path.GetFileName(path) + "\r\n";
str += "GetFileNameWithoutExtension錛? + Path.GetFileNameWithoutExtension(path) + "\r\n";
str += "GetExtension錛? + Path.GetExtension(path) + "\r\n";
str += "GetPathRoot錛? + Path.GetPathRoot(path) + "\r\n";
MessageBox.Show(str);
緇撴灉錛?/span>
GetFullPath錛欳:\dir1\dir2\foo.txt
GetDirectoryName錛欳:\dir1\dir2
GetFileName錛歠oo.txt
GetFileNameWithoutExtension錛歠oo
GetExtension錛?txt
GetPathRoot錛欳:\
榪欓噷瑕佽鏄?path 鏄?/span>濡備綍鍒ゆ柇鐩綍鍜屾枃浠跺悕鐨勶細瀹冩妸鏈鍚庝竴涓?\ 鍚庨潰鐨勫唴瀹瑰綋浣滄槸鏂囦歡鍚嶃?/span> // 鍐呭鏉ヨ嚜js4j.com//
涓涓瘮杈冧笉閿欑殑鏂規(guī)硶灝辨槸灝嗕俊鎭鍑烘垚涓烘姤琛ㄧ殑淇℃伅錛岀劧鍚庡湪excel涓繘琛屽垎鏋愩傛搷浣滄柟娉曞涓嬶細
涓鏃︿笂闈㈢殑鎸夐挳鐐瑰嚮涔嬪悗錛屾墍鏈夌殑璋冪敤鏍戝氨浼氳鏄劇ず鍑烘潵錛岃繕娌℃湁灝嗕俊鎭繚瀛樹負csv鏍煎紡錛屽涓嬶細
淇濆瓨涓轟簡csv涔嬪悗錛屾垜浠氳繃excel鎵撳紑錛屽氨鍙互榪涜鍒嗘瀽浜嗭紝濡備笅錛?/span>
闄や簡閲囩敤涓婇潰鐨勬柟娉曚嬌鐢≒rofiler涔嬪錛屾垜浠繕鍙互鍦ㄤ唬鐮佷腑浣跨敤Profiler鐨勫姛鑳姐傚鏋滄垜浠煡閬撲簡鍝簺鏂規(guī)硶闇瑕佽窡韙紝鎴戜滑鍙互鍦ㄤ唬鐮佷腑寮鍚疨rofiler銆?/span>
棣栧厛錛屾垜浠鍦ㄨ嚜宸辯殑欏圭洰涓紩鐢?#8220;CLRProfilerControl.dll”錛岀劧鍚庡彲浠ュ啓濡備笅鐨勪唬鐮侊細
榪欐牱鍐欏畬涔嬪悗鍛紝鎴戜滑灝卞彲浠ヨ繍琛宲rofiler鏉ュ惎鍔ㄦ垜浠殑紼嬪簭銆傝繖閲岃娉ㄦ剰錛屾垜浠繀欏葷鐢?#8220;profile active”錛屽洜涓烘垜浠凡緇忚繍琛屾垜浠殑浠g爜榪愯profiler鐨勬鏌ヨ窡韙姛鑳斤紝濡備笅錛?/span>
姝ゆ椂錛屽鏋滄垜浠煡鐪?#8220;histogram”錛屽氨浼氬彂鐜版暟鎹潪甯哥殑灝戯紝濡備笅錛?/span>
濡傛灉鎴戜滑鏌ョ湅“allocation graph錛堝唴瀛樺垎閰嶅浘錛?#8221;錛屾鏃訛紝鎴戜滑灝變細鐪嬪埌涓涓潪甯稿共鍑鐨勭晫闈簡銆傚拰涔嬪墠涓鏍鳳紝鎴戜滑榪樻槸瑕佺偣鍑?#8220;everything”鏉ョ湅鎵鏈夌殑鏂規(guī)硶鐨勫崰鐢ㄧ殑鍐呭瓨錛屽涓嬶細
鍒拌繖閲岋紝Profiler鐨勪嬌鐢ㄥ氨浠嬬粛瀹屼簡錛屾垜浠葷粨涓涓嬪惂錛?/span>
鏈瘒鏂囩珷姣旇緝綆鍗曪紝鎴戜滑浼氫富瑕佽緇嗙殑浠嬬粛CLR Profiler榪欎釜宸ュ叿銆?/span>
鍩虹綃囷細璇﹁В浠嬬粛Profiler鐨勪嬌鐢?/span>
澶у鍙互浠庤繖閲屼粠寰蔣鐨?/span>绔欑偣涓嬭澆CLR Profiler銆備竴鏃︿笅杞紺LR Profiler涔嬪悗錛屾垜浠氨鍙互瑙e帇錛岀劧鍚庤繍琛孊in鏂囦歡澶逛腑鐨?#8220;CLRProfiler.exe”銆?/span>
棣栧厛鎴戜滑鏉ヤ粙緇嶄竴涓婥LR Profiler鐨勫姛鑳姐?/span>
CLR Profiler紜疄鏄竴涓笉閿欑殑宸ュ叿錛岄氳繃浣跨敤瀹冿紝鎴戜滑鍙互浜嗚В涓涓?NET搴旂敤紼嬪簭鍒板簳鏄浣曚嬌鐢ㄥ唴瀛樼殑錛屽熀鏈笂闈㈠畠鐨勫姛鑳藉彲浠ュ垎涓轟袱綾?濡傚浘鎵紺猴細
1. 瀵逛竴涓?NET搴旂敤涓殑鍐呭瓨鏄浣曞垎閰嶇殑緇欏嚭涓涓畬鏁寸殑鎻忚堪銆傛墍浠ワ紝鎴戜滑鍙互鐪嬪埌姣忎竴縐嶇被鍨嬶紝鏂規(guī)硶鎵鍗犵敤鐨勫唴瀛樻儏鍐點?/span>
2. 瀹冨憡璇夋垜浠竴涓柟娉曡璋冪敤浜嗗灝戞銆?/span>
榪欓噷闇瑕佹敞鎰忕殑灝辨槸錛氫笉瑕佸啀鐢熶駭鐜鎴栦笂闈㈢殑鏈嶅姟鍣ㄧ珯鐐逛腑榪愯CLR Profiler錛屽洜涓哄畠浼氫弗閲嶇殑褰卞搷紼嬪簭鐨勫獎鍝嶃備緥濡傦紝濡傛灉鎴戜滑鐨勫簲鐢ㄧ▼搴忎腑鍖呭惈涓や釜鏂規(guī)硶錛宖un1鍜宖un2錛屾鏃跺綋鎴戜滑榪愯CLR Profiler鐨勬椂鍊欙紝瀹冧細灝嗕竴浜涢昏緫娉ㄥ叆鍒板簲鐢ㄧ▼搴忎腑錛岄氳繃涓嬮潰鐨勪竴涓浘灝卞彲浠ュ緢娓呮鐨勭湅鍑鴻繖涓棶棰橈細
璇翠簡榪欎箞澶氾紝鎴戜滑榪樻槸鏉ョ湅鐪嬶紝濡備綍浣跨敤CLR Profiler銆?/span>
棣栧厛錛屽湪浣跨敤CLR Profiler涔嬪墠錛屾垜浠娓呮錛氳浣跨敤榪欎釜宸ュ叿鏉ュ共鍢涳紵鍩烘湰涓婏紝鏈変袱鐐圭悊鐢憋細鏌ョ湅鍐呭瓨鐨勫垎閰嶄笌浣跨敤鐨勬儏鍐碉紱鏌ョ湅鏂規(guī)硶琚皟鐢ㄦ鏁般?/span>
鍚姩浜咰RLProfiler.exe涔嬪悗錛岄夋嫨瑕佹鏌ョ殑紼嬪簭錛屽涓嬪浘錛?/span>
姝ゆ椂錛屽簲鐢ㄧ▼搴忓氨寮濮嬭繍琛岋紝鎴戜滑灝卞彲浠ュ湪Profiler涓湅鍒頒竴浜涗俊鎭紝渚嬪搴旂敤紼嬪簭鍗犵敤鐨勫唴瀹癸紝姣忎竴浠e璞″崰鐢ㄧ殑澶у皬絳夛紝濡備笅錛?/span>
鍏跺疄涓婇潰鐨勯偅涓簲鐢ㄧ▼搴忛潪甯哥殑綆鍗曪紝鍙槸浣滀負涓涓猟emo婕旂ず鑰岃█銆備笂闈㈢殑紼嬪簭鐨勫姛鑳藉氨鏄湪涓涓寜閽殑浜嬩歡涓皟鐢ㄤ簡涓や釜鏂規(guī)硶錛?strong style="padding-right: 0px; padding-left: 0px; font-weight: bold; padding-bottom: 0px; margin: 0px; padding-top: 0px">UseSimpleStrings鍜?strong style="padding-right: 0px; padding-left: 0px; font-weight: bold; padding-bottom: 0px; margin: 0px; padding-top: 0px">UseStringBuilders銆傝繖涓袱涓柟娉曢兘鏄湪鎷兼帴瀛楃涓詫紙榪欎篃鏄父甯歌鐢ㄦ潵鍋氫緥瀛愮殑涓涓満鏅級錛屾垜浠垎鍒瀹冧滑鎷兼帴1000涓瓧絎︿覆錛屽涓嬶細
鍏朵腑UseSimpleStrings濡備笅錛?/span>
UseStringBuilders濡備笅錛?/span>
鐜板湪錛屾垜浠彲浠ュ皾璇曠潃浣跨敤Profiler鍘葷湅鐪嬫瘡涓柟娉曚嬌鐢ㄥ灝戠殑鍐呭瓨銆傛垜浠湪紼嬪簭涓偣鍑繪寜閽紝濂借Profiler鍘繪敹闆嗕俊鎭傜劧鍚庯紝鎴戜滑鍦ㄧ偣鍑籔rofiler鐨?#8220;histogram”鎸夐挳錛屾鏃舵垜浠氨鍙互鐪嬪埌紼嬪簭涓殑姣忎竴縐嶇被鍨嬬殑鍐呭瓨鍗犵敤鎯呭喌錛屽涓嬶細
濡傛灉鎴戜滑鎯崇湅姣忎竴涓柟娉曞湪榪愯榪囩▼涓崰鐢ㄧ殑鍐呭錛屽彲浠ョ偣鍑?#8220;Allocation Graph”錛屽涓嬶細
閫氳繃榪欎釜鎿嶄綔錛屾垜浠彲浠ョ湅鍒頒笅闈㈢殑鍥撅細
涔嶄竴鐪嬶紝鍙兘鎰熻鐣岄潰闈炲父鐨勬販涔憋紝鐗瑰埆鏄湪搴旂敤紼嬪簭寰堝ぇ鐨勬椂鍊欍備負浜嗘洿鍔犵湅鍒版垜浠兂鐪嬬殑鏂規(guī)硶錛屾垜浠彲浠ラ氳繃鍦ㄧ晫闈㈢殑涓偣鍑誨彸閿紝鐐瑰嚮“Find Routine”錛岀劧鍚庨夋嫨杈撳叆榪囨護鐨勬潯浠訛紝濡備笅錛?/span>
榪欐牱灝卞彲浠ュ揩閫熺殑瀹氫綅錛屽涓嬶細
鐒跺悗鍦ㄦ柟娉曚笂闈㈠弻鍑伙紝灝辮繘涓姝ョ殑灞曞紑錛屾煡鐪嬬粏鑺傦紝濡備笅錛?/span>
鍦ㄤ笂鍥句腑錛屾垜浠彧鏄湅鍒頒簡“UseSimpleStrings”鏂規(guī)硶鐨勪嬌鐢ㄥ唴瀛樼殑鎯呭喌錛屽洜涓鴻繖涓晫闈㈡樉紺虹殑淇℃伅姣旇緝鐨勭矖緋欙紝鍙槸鎶婁竴浜涘唴瀛樹嬌鐢ㄦ瘮杈冨鐨勬柟娉曞垪鍑烘潵浜嗭紝鎴戜滑鍙互閫氳繃鐐瑰嚮“0(everything)”鏌ョ湅鎵浠ョ殑鏂規(guī)硶錛屾鏃剁湅鍒板涓嬶細
閫氳繃涓婇潰鐨勫浘錛屾垜浠竴鐩簡鐒剁殑鐩村埌鍐呭瓨鐨勪嬌鐢ㄦ儏鍐?/span>