作者rabbitzane (菟仔)
看板C_Sharp
标题Re: [除错] 字串转换有问题
时间Fri Nov 17 01:36:22 2006
※ 引述《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)
1F:推 Uihc:谢谢 :) 11/21 09:13