C# 拆分只返回System.String[]而不是实际值

C# 拆分只返回System.String[]而不是实际值,c#,split,C#,Split,我已经找了一段时间了,仍然没有找到任何东西 我的问题是,我想简单地分割一个值,从一个文本框传递 当1出现时 string t1 = textBox1.Text; string[] split = t1.Split(new Char[] {'1'}); 我正在将写在变量中的值传递到另一个文本框中。 现在我的问题是,它不会像split方法中那样显示1后面的内容。相反,它显示System.String[]。有人需要帮忙吗 编辑: 我的程序的完整代码部分: { str

我已经找了一段时间了,仍然没有找到任何东西

我的问题是,我想简单地分割一个值,从一个文本框传递 当1出现时

string t1 = textBox1.Text;
string[] split = t1.Split(new Char[] {'1'});
我正在将写在变量中的值传递到另一个文本框中。 现在我的问题是,它不会像split方法中那样显示1后面的内容。相反,它显示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;
            }

我认为您可能正在将结果分配给文本框,如下所示:

textBox2.Text = split.ToString();
ToString将字符串[]拆分数组转换为字符串,默认情况下,该字符串只返回类型的名称,在本例中为System.string[]

为了让您能够使用它,拆分数组中应该至少有两个项目;即,文本框中由/字符分隔的所有子字符串

我怀疑您想使用/like之后的所有字符:

String.Split的工作方式如下:

textBox2.Text = split.ToString();
如果输入文本为:ABCD/EFGH,则拆分为:

split[0] == "ABCD";
split[1] == "EFGH";
split[0] == "ABCDEFG"; // There is no split[1]
split[0] == "AB"
split[1] == "CD"
split[2] == "EF"
如果您的输入文本为:ABCDEFG,则拆分为:

split[0] == "ABCD";
split[1] == "EFGH";
split[0] == "ABCDEFG"; // There is no split[1]
split[0] == "AB"
split[1] == "CD"
split[2] == "EF"
如果您的输入文本为:AB/CD/EF,则拆分为:

split[0] == "ABCD";
split[1] == "EFGH";
split[0] == "ABCDEFG"; // There is no split[1]
split[0] == "AB"
split[1] == "CD"
split[2] == "EF"
请注意,最后两个案例都有split.Length!=二,

对于最后一种情况,如果输入中有两个或更多的/字符,您希望执行什么操作

[编辑]查看您上次的更新,这行代码是错误的:

textBox1.Text = split.ToString();
string[] split = t1.Split(new Char[] { });
应该是:

if (split.Length > 0)
    textBox1.Text = split[0];
请阅读我以上答案的第一部分,了解有关split.ToString的功能的解释

此外,这一行是错误的:

textBox1.Text = split.ToString();
string[] split = t1.Split(new Char[] { });
应该是

string[] split = t1.Split(new [] {'/'});
您没有指定要拆分的字符。根据您在下面的评论,我假设您确实希望在“/”上进行拆分

终于!您的产品线以:

url = "https: ...
使用拆分[1],因此您需要使用if来保护它:

if (split.Length > 1)
    url = "https: ...
else
    url = "<DIDN'T WORK!>"; // Or something! :)

您想如何将数组转换为字符串?我不知道,您能告诉我吗?@Slaks您可能应该尝试读取split[0]以查看数组中的内容,或者使用split.Length来确定数组中存储了多少字符串。很抱歉,我对c很陌生,有没有办法不用数组就拆分这个变量?我不明白。如果TextBoxOne的值是Hello1Word,TextBoxTwo应该是Word?是的,现在如果我在textBox1中输入一些内容,这将更改为System.String[]。此外,还会出现一条错误消息,说此索引超出了数组范围。您可以尝试我建议的代码吗?if split.Length>=2 textBox2.Text=split[1];部分我猜你的第二个文本框叫什么;您需要将我的代码更改为实际调用的代码。将textBox1的值除以1仅用于测试。实际上,我想在/处拆分它,因为我正在尝试拆分一个URLOk,所以这不会对我建议的代码产生任何影响。