Re: [除錯] 字串轉換有問題
※ 引述《Uihc (我 有我的倔強...)》之銘言:
: 不好意思,又來麻煩大家..( ̄▽ ̄#)﹏﹏
: 我想寫一個字串轉換的功能
: 白話一點說,想把地址中"1段"轉為"一段","2段"轉為"二段"…以此類推
: 我的問題是,測試了十筆,只有第一筆成功> <
: 真相在這裡:http://photo.xuite.net/chiulin.wei/1190750/1.jpg

: 另外再問個問題,寫網頁時,我知道資料庫連結字串可以存在web.config
: 然後再利用ConfigurationManager.AppSettings去連資料庫
: 寫windows form時也知道資料庫連結字串是存在app.config
: 但是卻沒辦法利用ConfigurationManager.AppSettings去讀取字串,是為什麼呢??
這個問題可以參考
http://msdn2.microsoft.com/en-us/library/
system.configuration.configurationmanager.connectionstrings.aspx
(懶的縮網址:p)
記得將system.configuration.dll加入參考
: private string section(string org)
: {
: string strNew="";
: string strOld="";
: for (int i = 15; i > 0; i--)
: {
: strOld = i.ToString() + "段";
^^^^^^^^^^^^^^^^^^^^^
: //用迴圈去找傳過來的地址字串裡如果有包含"x段"
: //就再利用switch去把數字段名轉為國字段名
: if (org.Contains(strOld))
: {
: switch (i)
: {
: case 1:
: strNew = "一段";
: break;
: case 2:
: strNew = "二段";
: break;
: case 3:
: strNew = "三段";
: break;
: : (略)
: case 15:
: strNew = "十五段";
: break;
: default:
: strNew = "零段";
: break;
: } // end switch
: } //end if
: } //end for
: string cstr = org.Replace(strOld, strNew);
^^^^^^^^^^^^^^^^^^^^^^^^^^
: return cstr;
: }
照你的寫法 迴圈跑一跑 strOld 最後永遠都是 ="1段" @@"
所以你的結果跑出來當然只有第一個地址轉換成功.
因為地址剛好有包含到1段的字串
另外 org.Contains 判斷上還有一個問題
例如當 org=15段 for 迴圈跑到i=5 亦即 strOld=5段
org.Contains 會成立
那麼你之後Replace的字串就會有問題了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.212.216
※ 編輯: rabbitzane 來自: 211.74.212.216 (11/17 01:38)
推
11/21 09:13, , 1F
11/21 09:13, 1F
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章