作者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)
1F:推 heyboy:感谢愿意回文及上篇推文的好人 03/17 12:45
2F:→ heyboy:我刚又搞了很久发现我的写法是没问题,只是不知道哪出问题 03/17 12:47
3F:→ heyboy:会导致最後一笔字串会多一堆好像不是空白或是甚麽的 03/17 12:48
4F:推 heyboy:晚点再继续测看看...不行我在po图出来 03/17 12:52