Re: [除錯] 字串轉換有問題

看板C_Sharp (C#)作者 (菟仔)時間19年前 (2006/11/17 01:17), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #15N9qRhz (C_Sharp)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #15N9qRhz (C_Sharp)