初學程式設計的朋友往往喜歡收集一些「奇妙」的程式技巧,然而技巧累積往往未提升程式品質,反而誘導開發者一味追求奇與新,忘記基本程式習慣養成,不利團隊合作。或許這也是中國不缺聰明程式設計師,但缺乏聰明開發團隊的原因之一。在 ASP.NET 開發中,可學習的技巧不少,但基本程式習慣必須養成,這不僅能根本提升程式品質與開發效率,也利於程式閱讀與團隊開發。若自己寫的程式只有自己或幾人看懂,即使技巧神乎其技,對程式升級與維護都是致命問題。
程式健壯性最基本要求是錯誤處理與捕捉。ASP.NET 中錯誤處理機制與其他程式語言相同,可使用 Try...Catch...Finally 方式,這比 ASP 有較大進步。使用這些錯誤處理方法,可大幅提高程式可讀性與除錯速度,綜合優勢下更應重視此點。
關於錯誤處理,可參考此文(英文):https://www.123aspx.com/redir.aspx?res=28336
網頁設計中,字串處理幾乎是最常見的。使用 ASP.NET 後,字串處理比 ASP 快,且專門增加字串處理類別 StringBuilder,使用此類別可完成常見字串操作,主要優勢是大幅提高字串處理速度。
ASP.NET 中最常見的是使用 "&" 連接兩字串:
Dim myOutputString As String = "My name is"
Dim myInputString As String = " Alex"
myOutputString = myOutputString & myInputString
Response.Write(myoutputString)
現在看 StringBuilder 用法,可對字串做基本操作,如 Append、Replace、Insert、Remove 等,具體範例如下。
Append 如同其他語言,在字串末尾增加其他字元。
Dim sb as StringBuilder = New StringBuilder()
sb.append("<table border='1' width='80%'>")
For i = 0 To RowCount - 1
sb.Append("<tr>")
For k = 0 To ColCount - 1
sb.Append("<td>")
sb.Append(dt.Rows(i).Item(k, DataRowVersion.Current).toString())
sb.Append("</td>")
Next
sb.Append("<tr>")
Next
sb.Append("</table>")
Dim strOutput as String = sb.ToString()
lblCompany.Text = strOutput
注意:StringBuilder 必須先用 ToString() 轉為 String 型別才能直接輸出。以上範例皆 Append 直接字串,實際上此方法有方便功能:可直接 Append 其他型別變數,如直接 Append Integer 數值,輸出時自動轉為字串:
Sub Page_Load(Source As Object, E As EventArgs)
Dim sb As System.Text.StringBuilder
Dim varother As Integer
varother=9999
sb =new System.Text.StringBuilder()
sb.append("<font color='blue'>可以Append其他型別:</font>")
sb.append(varother)
Response.write(sb.toString())
End Sub
Insert 方法:指定位置插入其他字元,用法 Insert(插入位置,插入字元);
Remove 方法:指定位置刪除指定字數字元,用法 Remove(起始位置,字元數);
Replace 方法:替換指定字元,用法 replace(被替換字串,替換字串)
字串具體介紹與用法可參考以下文章(英文):
https://aspfree.com/aspnet/stringbuilder.aspx
https://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemTextStringBuilderClassTopic.asp