作者ashram (アシュラム)
看板C_Sharp
標題Re: [問題] foreach問題及關閉程式問題
時間Wed Mar 17 10:18:24 2010
※ 引述《heyboy (boy)》之銘言:
: string tmpstr = "Tom|Eva|Amy|";
: foreach( string name in tmpstr.Split( '|' ) )
: {
: if ( name = = "" )
^^^ 這應該是==吧
: continue;
: else
: listBox.Items.Add(name);
: } // foreach
: ------------------------------------------------------
: 請問上面程式碼中以foreach分出的 "最後" 一個字串究境為何!?
: 小弟原本想說是空白
: 但利用此方法將使用者顯示於listbox中,無奈總會多一筆空白資料
: 如果字串改成 "Tom|Eva|Amy" 則最後一筆字串Amy後面也會接一堆類似空白
: 導致收尋listbox中有無 "Amy" 字串也會找不到
: 請問有人能否好心告知? 另外想請問
我用"Tom|Eva|Amy|"測試的結果是ok的
不過若要想讓Split的結果只有3個,沒有第四個空字串的話
可以用
tmpstr.Split(new char[]{'|'}, StringSplitOptions.RemoveEmptyEntries)
StringSplitOptions.RemoveEmptyEntries可以將空集合去除
另外我用"Tom|Eva|Amy"去跑你程式也是ok的
要判斷字串是否為空可以用string.IsNullOrEmpty
這前面有人推聞了
如字面意思,空字串跟null都會是true
不知道你是用何種方式搜尋的
我用FindString和FindStringExact也都可以正常找出Amy啊
甚至用listBox.Items.Contains("Amy")也是true
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.63.22.237
※ 編輯: ashram 來自: 61.63.22.237 (03/17 10:24)
推 heyboy:感謝願意回文及上篇推文的好人 03/17 12:45
→ heyboy:我剛又搞了很久發現我的寫法是沒問題,只是不知道哪出問題 03/17 12:47
→ heyboy:會導致最後一筆字串會多一堆好像不是空白或是甚麼的 03/17 12:48
推 heyboy:晚點再繼續測看看...不行我在po圖出來 03/17 12:52