c#中的字符串拆分返回一个空数组

Posted

技术标签:

【中文标题】c#中的字符串拆分返回一个空数组【英文标题】:String split in c# returning an empty array 【发布时间】:2018-08-15 19:45:18 【问题描述】:

我正在尝试将 C# 中显示时间的字符串(例如“00:00”)拆分为一个数组,该数组通过在“:”处拆分为“00”和“00”字符串的一部分。我不断收到“System.String[]”。

为什么我得到一个空字符串数组?

string time = "00:00";

Console.WriteLine(time.Split(':'));

【问题讨论】:

谁知道?将您的代码放入问题中... 你从哪里得到System.String[]?这是.ToString() 的结果吗? 您得到的是一个空字符串数组,还是只是错误地假设array.ToString() 会向您显示值? 我打赌你先做string[] array = something.Split(':'); 然后Console.WriteLine(array.ToString()); 现在你打印出数组的类型而不是它的值。 刚刚添加,我的错 【参考方案1】:

您可能正在将结果直接打印到您的控制台/视图。字符串被分割得很好,但你不能只打印一个数组。数组的 ToString 函数只会打印类型,在您的情况下是 System.String[]

如果您想打印数据,您必须将其连接回字符串或单独打印部分。

var splittedString = time.Split(':');

// All parts, glued with a comma
Console.WriteLine(string.Join(" , ", splittedString));

// Only the first part
Console.WriteLine(splittedString[0]);

【讨论】:

这正是我正在做的,谢谢你指出这一点! 很高兴我能帮上忙。考虑将此答案标记为解决方案,以便其他用户也可以找到它。

以上是关于c#中的字符串拆分返回一个空数组的主要内容,如果未能解决你的问题,请参考以下文章

字符串在c#中拆分返回一个空数组

在 C# 中用另一个字符串拆分一个字符串

Javascript 拆分数组

如何拆分字符串 C# 并忽略字符串中的不完整单词

我需要在拆分方法c#之后将字符串分配给数组列

C# - 由另一个数组拆分数组