'Visual Basic'相關日誌共 1 篇

  1. 2009/07/10 String.Substring的Exception

String.Substring的Exception

程式技術/.NET 2009/07/10 02:52
views: 36485 times
真是很常見的一個 exception, 就是利用 String.Substring 這個函數來取 Left, Mid, Right 的功能, 不過會有 exception 要自行避開的問題.

常常我們用 String.Substring(0, 5) 來當做 Left(string, 5) 的功能, 不過, 若是字串長度本身就短於 5 時, 就會發生一個 ArgumentOutOfRangeException 的 exception, 可以先參閱 msdn 的說明: http://msdn.microsoft.com/zh-tw/library/aka44szs(VS.80).aspx

當然, 我們可以容易地去避免這個問題, 利用字串長度和取出長度的比較較小的值為準, 如下寫法:


不過, 無論如何都很妙, 要來先做判斷的事, 但我們可以利用一個更簡單的方式(若不想要用判定法), 可以利用含入 Microsoft.VisualBasic 的 reference 來使用, 可以這樣寫:

strB = Microsoft.VisualBasic.Strings.Left(strA, 10);

其實就已經會處理掉那個 10 會造成參數錯誤的 exception, 而 Mid, Right 也都是一樣的作法, 當然啦, 還是可以利用原來的 String.Length 的判定方式來寫, 不過寫 c# 就是沒辦法有現成的功能, 要嘛自己寫, 要嘛就要比較一下有沒有參數超過的問題, 要嘛, 就是 Microsoft.VisualBasic.Strings 下的方法來用囉!
top








SanDisk Ultra SDHC Class6 16GB記憶卡 Nikon COOLPIX S30 夏日防水時尚機(公司貨) SAPIDO傻多 Mini USB供電小口袋機(RB-1632) ViewSonic ViewPad 7e ★親民平板電腦 [快]SAMSUNG WB150F WiFi 18倍變焦高畫質數位相機(公司貨) TP-LINK  TL-WR841ND 300Mbps 無線 N 路由器 PAPAGO! P3 車道偏離/車距警示行車記錄器 SanDisk 16GB Mobile Ultra microSDHC 附轉卡(平輸) Sony Ericsson Xperia neo V MT11i 影音娛樂手機 SAPIDO傻多  N速Gigabit 多網型無線寬頻分享器 (GR-1733) (繁中版)Panasonic GF3+14mm F2.5+14-42mm 雙鏡組 人因 Ergotech Tablet  多媒體娛樂機 ★FujiXerox DocuPrint P205b S-LED雷射印表機(粉紅機) (繁中版)Panasonic GF3+14mm F2.5+14-42mm 雙鏡組 飛利浦免油健康氣炸鍋(HD9220) 華擎平台【龍神傳說】四核SSD獨顯電玩機 美國VIZIO 47吋Full HD液晶顯示器+視訊盒 E470VL-TW(M) JSmax Android MID-1023 10.1吋平板電腦(全新升級版) lenovo ideapad G575雙核心15吋筆電【含微軟Windows 7】315301 Lenovo ideapad G570 59-309037 新雙核B950 15.6吋筆電 美國西屋42吋FHD液晶顯示器+視訊盒(LC-42E300A) OCZ Solid 3 120GB 2.5吋 SATA3 固態硬碟 HP LaserJet Pro CP1025nw 無線迷你彩色雷射印表機 D-Link DHP-501AV 500Mbps電力線網路橋接器(雙包裝) IBT-1073VOD 雲端劇院 Brinno Garden Watch Cam 生活記錄器 SAPIDO N速 3.5G易享機 支援BT (GR-1222) 35合1掌上型麻將機2代 三洋 SANYO 日本原廠 18650 全新高效能高容 2600mAh 鋰電池充電組


 Waiting...