我已经搜索了一段时间但仍然没有找到任何东西。
我的问题是,我想简单地拆分一个从文本框传递的值 一出现一个。
string t1 = textBox1.Text;
string[] split = t1.Split(new Char[] {'1'});
我将我的变量中写入的值传递到另一个Textbox中。 现在我的问题是,它不会显示1之后的内容,因为它应该在split方法中。而是显示System.String []。有人帮忙吗?
编辑:
我的程序的完整代码部分:
{
string t1 = textBox1.Text;
string[] split = t1.Split(new Char[] { });
textBox1.Text = split.ToString();
if (split.Length == 2)
textBox4.Text = split[1];
url = "https://www.google.de/search?q=" + textBox3.Text + "&um=1&client=" + split[1] + "-a&rls=org.mozilla:de:official&hl=de&" + textBox2.Text + "=lnms&sa=X&ei=Re2YUd-RCYiC4gThw4GwAQ&ved=0CAkQ_AUoAA&biw=1920&bih=951
textBox4.Text = url;
}
答案 0 :(得分:3)
我认为您可能会将结果分配到文本框中,如下所示:
textBox2.Text = split.ToString();
ToString()
将string[] split
数组转换为字符串,默认情况下只返回类型的名称,在本例中为System.String[]
。
为了能够使用它,split
数组中至少应包含两个项目;即,文本框中由/
个字符分隔的所有子字符串。
我怀疑你想在/
之后使用所有字符:
if (split.Length >= 2)
textBox2.Text = split[1];
String.Split()
的工作原理如下:
如果您的输入文字为:"ABCD/EFGH"
,则split
将为:
split[0] == "ABCD";
split[1] == "EFGH";
如果您的输入文字是:"ABCDEFG"
,则split
将是:
split[0] == "ABCDEFG"; // There is no split[1]
如果您的输入文字是:"AB/CD/EF"
,则split
将是:
split[0] == "AB"
split[1] == "CD"
split[2] == "EF"
请注意,最后两个案例都有split.Length != 2
。
你想为最后一种情况做什么,输入中有两个(甚至更多)/
个字符?
[编辑]看看你上次的更新,这行代码是错误的:
textBox1.Text = split.ToString();
应该是:
if (split.Length > 0)
textBox1.Text = split[0];
阅读上面答案的第一部分,了解split.ToString()
的作用!
另外,这条线错了:
string[] split = t1.Split(new Char[] { });
应该是
string[] split = t1.Split(new [] {'/'});
您没有指定要拆分的字符。根据您在此下面的评论,我假设您实际上想要拆分'/'
。
最后!你的行以:
开头url = "https: ...
使用split[1]
,因此您需要使用if:
if (split.Length > 1)
url = "https: ...
else
url = "<DIDN'T WORK!>"; // Or something! :)