日期:2014-05-18  浏览次数:20525 次

关于字符串如何截取的问题
我有一个字符串,大概是这样:
  string fkType="3:3:4";
  这个字符串最长可能是1~6位数,也就是可能会是“1:2:2:2:2:1”
  或直接就是“10”,或“5:5”

  我要将这个写数字挨个取出来,并且显示在文本框中
  一开始我想着,用字符串的Split()方法截取,但是我要挨个赋值给文本框,
  我怎么才能知道这个截取后的string数组有多长?如何取值的时候做到不会
  发生数组越界啊?
  菜鸟不要见笑,好久没用了
 

------解决方案--------------------
string [] split = fkType.Split(new Char [] {':'});

foreach (string s in split)
------解决方案--------------------
foreach (string s in split) 这么循环这么会越界

你肯定用的 for循环, 后面 写的<= 所以 越界了。
------解决方案--------------------

if(strs.Count>0)
this.txtzf1.Text = strs[0].ToString();
if(strs.Count>1)
this.txtzf2.Text = strs[1].ToString();
if(strs.Count>2)
this.txtzf3.Text = strs[2].ToString();
if(strs.Count>3)
this.txtzf4.Text = strs[3].ToString();
if(strs.Count>4)
this.txtzf5.Text = strs[4].ToString();
if(strs.Count>5)
this.txtzf6.Text = strs[5].ToString();