String拆分另一个字符串

时间:2017-11-27 21:33:35

标签: c#

我过去曾使用过Splits,但由于某些原因这个有点不同,我不确定为什么...

代码:

string responceuptime = scripting.ReadUntilPrompt();
string[] suptime = responceuptime.Split('s');
UpTime.Text = suptime;

错误:

  

无法将字符串[]隐式转换为字符串

3 个答案:

答案 0 :(得分:3)

这是非常基本的事情,很容易从错误信息中弄清楚实际上是什么错误。

顺便说一句,以下行是罪魁祸首:

UpTime.Text = suptime;

由于suptime的类型为string[],它是数组,而Text属性的类型为String。分配对类型的引用和来自类型的引用应该是相同的,否则我们将看到您刚刚面临的此错误消息。

从上面的代码行中不清楚你要在这里尝试实现什么,但是你需要将单个String对象分配给Text,你不能分配数组或集合单个String对象。

希望它有所帮助。

答案 1 :(得分:1)

您的变量suptimestring[] - 一个字符串数组。虽然我不知道Uptime.Text是什么,但我猜测它正在寻找单个字符串,这就是为什么您会收到编译错误的原因你是谁。

如果你想从数组中获取第一个字符串,那么你可以这样设置它:

UpTime.Text = suptime[0];

答案 2 :(得分:1)

String.Split的调用输出是一个字符串数组(String[])。您的代码在这里尝试将String[]分配给String变量,因此应用程序会抛出异常。

因此,您必须在数组中识别您要查找的值并选择指向它的索引(从0suptime.Length - 1)。例如:

UpTime.Text = suptime[0]; // first value of the array
UpTime.Text = suptime[2]; // third value of the array
UpTime.Text = suptime[suptime.Length - 1]; // last value of the array

如果您的分割结果是:

{"A" "Z" "11:57"}

并且您希望UpTime.Text充满看似时间价值的东西,很明显您必须选择的值是第三个。