当我试图输出值时,它说System.String []

时间:2012-06-06 10:06:15

标签: c#

当我尝试输出约会。类别时,它会显示: System.String []

但它将所有其他值输出到纯文本。

我尝试过ToString(),但这似乎不起作用。

myText.InnerHtml += "subject::" + appointment.Subject + "\n";
myText.InnerHtml += "starttime::" + appointment.StartTime + "\n";
myText.InnerHtml += "endtime::" + appointment.EndTime + "\n";
myText.InnerHtml += "categori::" + appointment.Categories + "\n";

这些是微软的价值观 http://msdn.microsoft.com/en-us/library/dd635637(v=exchg.80

如何将System.String输出到明文?

谢谢!

5 个答案:

答案 0 :(得分:6)

类别不是字符串,而是字符串数组,您需要一次打印一个字符串。

替换

myText.InnerHtml += "categori::" + appointment.Categories + "\n";

foreach(var category in appointment.Categories)
{
    myText.InnerHtml += "categori::" + category  + "\n";
}

答案 1 :(得分:6)

  

如何将System.String输出到明文?

<{1}}。它是字符串的数组。你如何希望将字符串数组转换为单个数组?例如,您可以使用:

System.String

答案 2 :(得分:0)

好吧,似乎appointment.Categories是一个字符串数组不是一个字符串。您可以使用以下内容:

myText.InnerHtml += "categori::" + String.Join(", ", appointment.Categories) + "\n";

答案 3 :(得分:0)

默认情况下,

System.String[]或字符串数​​组不会覆盖ToString方法。这就是为什么在与其他字符串结合时打印类型名称的原因。使用String.Join()获取用户友好的字符串表示。

string categories = String.Join(", ", appointment.Categories)

categories现在包含数组["Cat1", "Cat2", "Cat3"]的“Cat1,Cat2,Cat3”。

答案 4 :(得分:0)

只需加入数组

myText.InnerHtml += string.Join("categori::", appointment.Categories) + "\n";