搜尋
首頁後端開發C#.Net教程常用的asp.net 技巧總結


#

vs2005常用快速鍵 

偵錯快速鍵

F6: 產生解決方案
Ctrl+F6: 產生目前專案
F7: 檢視程式碼
Shift+F7: 檢視窗體設計器
F5: 啟動偵錯
Ctrl+F5: 開始執行(不偵錯)
Shift+F5: 停止偵錯
Ctrl+Shift+F5:重啟調試
F9: 切換斷點
Ctrl+F9: 啟用/停止斷點
Ctrl+Shift+F9: 刪除全部斷點
F10: 逐過程
Ctrl+F10: 運行到遊標處
F11: 逐語句

編輯快捷鍵

Shift+Alt+Enter: 切換全螢幕編輯

Ctrl+B,T / Ctrl+K, K: 切換書籤開關
Ctrl+B,N / Ctrl+K,N: 移到下一書籤
Ctrl+B,P: 移到上一書籤
Ctrl+B,C: 清除全部標籤

Ctrl+I: 漸進式搜尋
Ctrl+Shift+I: 反向漸進式搜尋
Ctrl+F: 尋找
Ctrl+Shift+F: 在檔案中尋找
F3: 尋找下一個
Shift+F3: 尋找上一個
Ctrl+H: 取代
Ctrl+Shift+H: 在檔案中取代
Alt+F12: 找出符號(列出所有查找結果)

Ctrl+Shift+V: 剪貼簿循環

#Ctrl+左右箭頭鍵: 一次可以移動一個單字
Ctrl+上下箭頭鍵: 捲動代碼螢幕,但不移動遊標位置。
Ctrl+Shift+L: 刪除目前行
Ctrl+M,M: 隱藏或展開目前巢狀的折疊狀態
Ctrl+M,L: 將所有過程設為相同的隱藏或展開狀態
Ctrl+M,P: 停止大綱顯示
Ctrl+E,S: 查看空白
Ctrl+E,W: 自動換行
Ctrl+G: 前往指定行
Shift+Alt+箭頭鍵: 選擇矩形文字
Alt+滑鼠左按鈕: 選擇矩形文字

Ctrl+Shift+U: 全部變成大寫
Ctrl +U: 全部變成小寫

程式碼快速鍵

Ctrl+J / Ctrl+K,L: 列出成員
Ctrl+Shift+空白鍵/ Ctrl+K,P:參數資訊
Ctrl+K,I: 快速資訊

Ctrl+E,C / Ctrl+K,C: 註解選取內容
Ctrl+E,U / Ctrl+K,U: 取消選取註解內容

Ctrl+K,M: 產生方法存根
Ctrl+K,X: 插入程式碼片段
Ctrl+K,S: 插入外側程式碼

F12: 前往所呼叫程序或變數的定義

視窗快速鍵

Ctrl+W,W: 瀏覽器視窗
Ctrl+W,S: 解決方案管理員
Ctrl+W,C: 類別檢視
Ctrl+W,E: 錯誤清單
Ctrl+W,O: 輸出檢視
Ctrl+W,P: 屬性視窗
Ctrl+W,T: 任務清單
Ctrl+W,X: 工具箱
Ctrl+W,B: 書籤視窗
Ctrl+W,U: 文件大綱

Ctrl+D,B: 斷點視窗
Ctrl+D,I: 即時視窗

Ctrl+Tab: 活動窗體切換

Ctrl+Shift+N: 新專案
Ctrl+Shift+O: 開啟專案
Ctrl+Shift+S: 全部儲存
Shift+Alt+C: 新類別
Ctrl+Shift+A: 新項目



3、變數.ToString()
字元型轉換轉為字串
12345.ToString("n"); //產生12,345.00
12345.ToString("C"); //產生¥12,345.00
12345.ToString("e") ; //產生1.234500e+004
12345.ToString("f4"); //產生12345.0000
12345.ToString("x"); //產生3039 (16進位)
12345. ToString("p"); //產生1,234,500.00%

1.9 取中文日期顯示-年月日時分
string strY=currentTime. ToString("f"); //不顯示秒

1.10 取中文日期顯示_年月
string strYM=currentTime.ToString("y");

#1.11 取中文日期顯示_月日
string strMD=currentTime.ToString("m");

1.12 取中文年月日
string strYMD=currentTime.ToString("D");

1.13 取目前時分,格式為:14:24
string strT=currentTime.ToString("t");

1.14 取目前時間,格式為:2003-09-23T14:46 :48
string strT=currentTime.ToString("s");

#1.15 取目前時間,格式為:2003-09-23 14:48:30Z
string strT=currentTime.ToString ("u");

1.16 取目前時間,格式為:2003-09-23 14:48
string strT=currentTime.ToString("g");

#1.17取目前時間,格式為:Tue, 23 Sep 2003 14:52:40 GMT
string strT=currentTime.ToString("r");

1.18取得目前時間n 天後的日期時間
DateTime newDay = DateTime.Now.AddDays(100);



字串變數.Replace("子字串","替換為")
字串替換
如:
string str="中國";
str=str.Replace("國","央"); //將國字換成央字
Response.Write(str); //輸出結果為「中央」



C#程式設計規格
養成良好的程式設計風格是極其必要的,誰也不願意看到一堆雜亂無章的程式碼,將來你或別人在維護的時候是多麼的痛苦,所以,從現在開始,養成良好的編碼習慣,包括變數命名,註釋,程式碼縮排....。
1 .利用Pascal的方式定義型別、方法名稱和常數  

public class SomeClass
{
 const int DefaultSize=100;  
 public SomeMethod()
 {
 }
}

#2.局部變數與方法的參數使用駱駝命名法

3.介面
int number;  
           void MyMethod(int someNumber)  
   
的名稱前加上I


##interface ImyInterface              {…}4.在私有成員變數前面加上m_。對於m_後面的變數名稱使用駱駝命名方法



public class SomeClass              {     1        { ##            }6.自訂的例外類別加上字尾Exception




#5.對自訂的屬性類別加上後綴Attribute


7.方法的命名使用動詞----
物件對,例如ShowDialog()
8.有傳回值的方法的命名中要有回傳值的描述,例如GetObjectState()
9.使用帶有說明性的變數名a) 避免單字元的變數名,例如I或t等。使用類似index或temp這樣有意義的名字。
b) 對於public或protected類型的變數避免使用匈牙利表示法。
c) 不要縮寫單字(例如用num取代number)。

10.總是使用C#預先定義而不要使用System名稱空間中的別名,例如:
使用object而不是Object
使用string而不是String
使用int而不是int32

#11.在使用泛型的時候,類型的首字母要大寫。當處理.NET中的Type類型的時候,保留Type後綴。 (C#2.0 新功能)





//正確 

           public class LinkedList   #o#   #            //避免             //避免             public class LinkedList         名詞,例如產品名稱或公司名稱

13.避免以全限定方式使用型別名稱,使用using關鍵字。

14.避免在一個名稱空間中使用using關鍵字

15.把所有系統
框架
提供的名稱空間組織在一起,把第三方提供的名稱空間放到系統名稱空間的下方


using System;  
           using System.Collection.Generic;  
        System.Collection.Generic;  
       . using System.Data;  
           using MyCompany; (C#2.0新功能)

delegate void SomeDelegate();  

17.維護嚴格的程式碼縮排。不要使用tabs或非標準的縮進,例如一個空格。推薦的縮排是3到4個空格。

18.在和你的程式碼縮排處於同一個層級處為該行程式碼新增註解。

19.所有的註解都應該通過拼字檢查。註釋中的錯誤拼字意味著開發進度的延緩。

20.所有的類別成員變數應該被宣告在類別的頂部,並用一個空行把它們和方法以及屬性的宣告區分開

#delegate void SomeDelegate();  


#delegate void SomeDelegate();  
           public v  SomeDelegate someDelegate =SomeMethod;

public class MyClass  
           {      
           int m_Number;  public void SomeMethod1();  
           public void SomeMethod2();  
           }





#21.在最靠近一個局部變數被使用的地方宣告該局部變數。

22.一個檔案名稱應該能夠反映它所對應的類別名稱

23.當使用一個部分類別並將該類別分佈到不同的檔案中時,在每個檔案名末尾都加上該文件實現的部分在類別整體中所扮演的角色。例如:            {…}



// In MyClass.cs  
           public partial class MyClass  
        
           public partial class MyClass  



#24.總是要把花號「{」放在新一行的一行「{#編碼實作
:

1. 避免在同一個檔案中放置多個類別
2. 一個檔案應該只在一個名稱空間內定義類型。避免在一個檔案中使用多個名稱空間
3. 避免在一個檔案內寫多於500行的程式碼(機器自動產生的程式碼除外)
4. 避免寫超過25行程式碼的方法
5. 避免寫出超過5個參數的方法。如果要傳遞多個參數,請使用結構。
6. 一行不要超過80個字元
7. 不要手動去修改任何機器產生的代碼
a) 如果修改了機器產生的代碼,修改你的編碼方式來適應這個編碼標準
b) 盡可能使用partial classes特性,以提高可維護性。 (C#2.0新特性)
8. 避免對那些很直覺的內容作註解。程式碼本身應該能夠解釋其本身的含義。由可讀的變數名稱和方法名稱構成的優質程式碼應該不需要註解。
9. 註解應該只說明操作的一些前提假設、演算法的內部資訊等內容。 10. 避免對方法進行註解a) 使用充足的外部文件對
API
進行說明
b) 只有對那些其他開發者的提示資訊才有必要放到方法在等級的註解中來11. 除了0和1,絕對不要對數值進行硬編碼,透過宣告一個常數來取代該數值12. 只對那些亙古不變的數值使用
const關鍵字
,例如一週的天數。

13. 避免對唯讀(read-only)的變數使用const關鍵字。在這種情況下,直接使用readonly關鍵字


public class MyClass  
           {  
        readonly int Number;  
           public MyClass(int someValue)  
           {   ##  
           }

# 14. 對每一個假設進行斷言。平均起來,每5行應有一個斷言。


using System.Diagnostics;  

15. 每一行程式碼都應該以白盒測試的方式進行審讀。
16. 只捕捉那些你自己能夠明確處理的異常。
17. 如果在catch語句區塊中需要拋出異常,則只拋出該catch所捕捉到的異常(或基於該異常而創建的其他異常),這樣可以維護原始錯誤所在的堆疊位置。

           object GetObject()  
      
           Debug .assert(someObject!=null);


catch(Exception exception)  
           {  
         /或throw exception;
           }

#18. 避免使用回傳值作為

函數的錯誤代碼。 19. 避免
自訂異常類別20. 當自訂例外類別的時候:
a) 讓你自訂的例外類別從Exception類別
繼承 b) 提供自訂的序列化機制
21. 避免在一個程式集中(assembly)中定義多個
Main()方法。 22. 只把那些絕對需要的方法定義成public,而
其它的方法定義成internal。 23. 避免friend assemblies,因為這會增加程序集之間的耦合性。
24. 避免讓你的程式碼依賴執行在某個特定地方的組件。
25. 在application assembly(EXE client assemblies)中最小化程式碼量。使用類別庫來包含業務邏輯。
26. 避免明確指定枚舉的值

//正確 27. 避免為枚舉指定一個型別
           public enum Color  
  ,Blue  
           }

           //避免 
              Red=1,Green=2,Blue=3  
           }





##//避免 

           public enum Color:long              {              {              {  
         中中與中對點「 
           包含起來,哪怕只有一句語句也是如此。
29. 避免使用三元條件
運算子

30. 避免利用函數傳回的Boolean值作為條件語句。把回傳值賦給一個局部變量,然後再檢測。


Bool IsEverythingOK()              {…}  
           ///避免使用( #            { …}  

           //正確             bool ok=IsEverythingOK();   ## 



#31. 總是使用以零為基數的
陣列

32. 總是使用一個
for迴圈
明確的初始化一個
引用
成員的陣列:

public class MyClass            {}#            const int ArraySize=100;  
      Class     For (int index=0;index            {              {            array[index]=new MyClass()       中下# 

33. 使用屬性來取代public或protected類型的成員變數。
34. 不要使用繼承下來的new操作符,使用override關鍵字覆寫new的實作。
35. 在一個非密封(non-sealed)類別中,總是把那些public和protected的方法定義成virtual。
36. 除非為了和其它語言互動,否則絕對不要使用不安(unsafe)的程式碼。
37. 避免顯示類型轉換。使用as關鍵字安全性的轉換到另一個型別。

38. 在呼叫一個代理程式之前,總是檢查它是否為null。
Dog dog=new GermanShepherd();  
           GermanShepherd shepherd=dog.       { …}


39. 不要提供public的

事件
成員變數。改用Event Accessor。

Public class MyPublisher   41. 避免顯示觸發事件。使用EventsHelper安全的發布事件。 42. 總是使用介面。 43. 介面和類別中方法和屬性的比應該在2:1左右。


#Public class MyPublisher  
#            {  
#            MyDelegate_Some 1 ##            {  
           add  
           {
           m_SomeEvent+=value;  
           }  
             m_SomeEvent-=value;  
           }  
           }   # # #  

#40. 避免定義
事件處理
代理程式。使用EventHandler或GenericEventHandler。
44. 避免只有一個成員的介面。

45. 努力保證一個介面有3~5個成員。 46. 不要讓一個介面中成員的數量超過20,而12則是更實際的限制。 47. 避免在介面中包含事件。
48. 當使用
抽象類別
的時候,提供一個介面。
49. 在類別繼承結構中暴露介面。
50. 建議使用明確介面實作。
51. 從來不要假設一個型別支援某個介面。使用前總是要問一下。



SomeType obj1;  
#            ImyInterface obj2;      
   對 )        obj2=obj1 as ImyInterface ;  

           if(obj2!=null)              {      #            else              {  //避免             string name=”」; 
           //配備 





52. 不要硬編碼向使用者顯示的字串。要使用資源。
53. 不要硬編碼那些可能會隨發布環境變化而變化的字串,例如資料庫連接字串。
54. 使用String.Empty取代」”



  #    string name=””; 

 #            string name=String.Empty;


55. 使用一個長字串的時候,使用StringBuilder來取代string。
56. 避免在結構中提供方法
a) 參數化的建構子是鼓勵使用的
b) 可以重載運行符
57. 當聲明了表態成員的時候,總是要提供一個表態建構子。
58. 當早期綁定(early-binding)可能的時候就盡量不要使用遲綁定(late-binding)。
59. 讓你的應用程式支援追蹤和日誌。
60. 除了要在switch語句區塊中實現程式碼跳轉,不要使用goto關鍵字。
61. 總在switch語句的default情形提供一個斷言。

int number=SomeMethod();  
     

#int number=SomeMethod();  
           swith(number)  
               trace.WriteLine(“ Case 1:”)  
           break;  
           case 2:  
    ;  
           default:  
           debug.Assert(false);
           break;  
           }

62. 除了在一個建構子中呼叫它的建構子之外,請不要使用this。

#//Example of proper use of 'base'  
//Example of proper use of 'this'  
           public class MyClass  
   
{   }  
           public MyClass():this(“Hello”)  
           {   } ## 存取基底類別的成員,除非你在呼叫一個基底類別建構子的時候要決議一個子類別的名稱衝突


           public class Dog  

           {  
                   virtual public void Bark(int howlong)  

           {   }          public class GermanShepherd:Dog              {               public GermanShepherd(string name      override public void Bark(int howLong)  
           {  
           base.Bark( howLong)  
           }  
           }





64.請勿依賴使用.AddMem




#64.Pjdle.AddMemoryPory #6d基於《Programming .NET components》2/e中第四章的內容實作Disponse()和Finalize()方法。
67. 總是在unchecked狀態下運行程式碼(出於效能的原因),但是為了防止溢位或下溢操作,要果斷地使用checked模式。

Int CalcPower(int number,int power)  

           {  
        /1 ;=power;count++)  
           {  
           checked  
                 }  

           }              }              return  

#

68. 使用条件方法来取代显式进行方法调用排除的代码(#if…#endif)

public class MyClass
           {  
           [Conditional(“MySpecialCondition”)]  
           public void MyMethod()  
           {}  
           }

69. 不要在泛型接口中定义约束。接口级的约束通常可以利用强类型来替代。

Public class Customer  
           {}  
           //避免:  
           public interface Ilist where T:Customer  
           {}  

           //正确:  
           public interface IcustomerList:Ilist

70. 不要在接口上定义方法相关的约束。
71. 不要在代理上定义约束。
72. 如果一个类或方法提供了泛型和非泛型版本,那么优先选择泛型版本


#


#

以上是常用的asp.net 技巧總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
提高 Python 代码可读性的五个基本技巧提高 Python 代码可读性的五个基本技巧Apr 12, 2023 pm 08:58 PM

Python 中有许多方法可以帮助我们理解代码的内部工作原理,良好的编程习惯,可以使我们的工作事半功倍!例如,我们最终可能会得到看起来很像下图中的代码。虽然不是最糟糕的,但是,我们需要扩展一些事情,例如:load_las_file 函数中的 f 和 d 代表什么?为什么我们要在 clay 函数中检查结果?这些函数需要什么类型?Floats? DataFrames?在本文中,我们将着重讨论如何通过文档、提示输入和正确的变量名称来提高应用程序/脚本的可读性的五个基本技巧。1. Comments我们可

使用PHP开发直播功能的十个技巧使用PHP开发直播功能的十个技巧May 21, 2023 pm 11:40 PM

随着直播业务的火爆,越来越多的网站和应用开始加入直播这项功能。PHP作为一种流行的服务器端语言,也可以用来开发高效的直播功能。当然,要实现一个稳定、高效的直播功能需要考虑很多问题。下面列出了使用PHP开发直播功能的十个技巧,帮助你更好地实现直播。选择合适的流媒体服务器PHP开发直播功能,首先需要考虑的就是流媒体服务器的选择。有很多流媒体服务器可以选择,比如常

PHP中的多表关联查询技巧PHP中的多表关联查询技巧May 24, 2023 am 10:01 AM

PHP中的多表关联查询技巧关联查询是数据库查询的重要部分,特别是当你需要展示多个相关数据库表内的数据时。在PHP应用程序中,在使用MySQL等数据库时,多表关联查询经常会用到。多表关联的含义是,将一个表中的数据与另一个或多个表中的数据进行比较,在结果中将那些满足要求的行连接起来。在进行多表关联查询时,需要考虑表之间的关系,并使用合适的关联方法。下面介绍几种多

提高Python代码可读性的五个基本技巧提高Python代码可读性的五个基本技巧Apr 11, 2023 pm 09:07 PM

译者 | 赵青窕审校 | 孙淑娟你是否经常回头看看6个月前写的代码,想知道这段代码底是怎么回事?或者从别人手上接手项目,并且不知道从哪里开始?这样的情况对开发者来说是比较常见的。Python中有许多方法可以帮助我们理解代码的内部工作方式,因此当您从头来看代码或者写代码时,应该会更容易地从停止的地方继续下去。在此我给大家举个例子,我们可能会得到如下图所示的代码。这还不是最糟糕的,但有一些事情需要我们去确认,例如:在load_las_file函数中f和d代表什么?为什么我们要在clay函数中检查结果

Python中简单易用的并行加速技巧Python中简单易用的并行加速技巧Apr 12, 2023 pm 02:25 PM

1.简介我们在日常使用Python进行各种数据计算处理任务时,若想要获得明显的计算加速效果,最简单明了的方式就是想办法将默认运行在单个进程上的任务,扩展到使用多进程或多线程的方式执行。而对于我们这些从事数据分析工作的人员而言,以最简单的方式实现等价的加速运算的效果尤为重要,从而避免将时间过多花费在编写程序上。而今天的文章费老师我就来带大家学习如何利用joblib这个非常简单易用的库中的相关功能,来快速实现并行计算加速效果。2.使用joblib进行并行计算作为一个被广泛使用的第三方Python库(

四种Python推导式开发技巧,让你的代码更高效四种Python推导式开发技巧,让你的代码更高效Apr 22, 2023 am 09:40 AM

对于数据科学,Python通常被广泛地用于进行数据的处理和转换,它提供了强大的数据结构处理的函数,使数据处理更加灵活,这里说的“灵活性”是什么意思?这意味着在Python中总是有多种方法来实现相同的结果,我们总是有不同的方法并且需要从中选择易于使用、省时并能更好控制的方法。要掌握所有的这些方法是不可能的。所以这里列出了在处理任何类型的数据时应该知道的4个Python技巧。列表推导式ListComprehension是创建列表的一种优雅且最符合python语言的方法。与for循环和if语句相比,列

Python编程进阶,常用八大技巧!Python编程进阶,常用八大技巧!Apr 18, 2023 am 09:34 AM

整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作。但是如果问题很复杂,可能有更好的方法来解决:user_input="Thisnstringhastsomewhitespaces...rn"character_map={ord('n'):'',ord('t'):'',ord('r'):None}user_input.translate(charact

PHP中的批量数据处理技巧PHP中的批量数据处理技巧May 26, 2023 am 08:52 AM

随着互联网和信息技术的迅速发展,数据处理已经成为了现代计算机科学和工程学的一个重要研究领域,许多程序员和开发者都需要在他们的应用程序中处理大量数据。PHP作为一种简单易用的脚本语言,也逐渐成为了数据处理中的有力工具。在本文中,我们将介绍PHP中的一些批量数据处理技巧,以帮助开发者更高效地处理大量数据。使用for循环处理数据for循环是PHP中最基本的循环结构

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版