C# 当我试图输出值时,它会显示System.String[]

C# 当我试图输出值时,它会显示System.String[],c#,C#,当我尝试输出appointment.Categories值时,它会显示:System.String[] 但它可以将所有其他值输出为纯文本 我试过使用字符串(),但似乎不起作用 myText.InnerHtml += "subject::" + appointment.Subject + "\n"; myText.InnerHtml += "starttime::" + appointment.StartTime + "\n"; myText.InnerHtml += "endtime::" +

当我尝试输出appointment.Categories值时,它会显示:System.String[]

但它可以将所有其他值输出为纯文本

我试过使用字符串(),但似乎不起作用

myText.InnerHtml += "subject::" + appointment.Subject + "\n";
myText.InnerHtml += "starttime::" + appointment.StartTime + "\n";
myText.InnerHtml += "endtime::" + appointment.EndTime + "\n";
myText.InnerHtml += "categori::" + appointment.Categories + "\n";
这些是Microsoft提供的值 )

如何将System.String输出为纯文本


谢谢

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

替换

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

如何将System.String输出为纯文本

它不是一个
系统字符串。这是一个字符串数组。如何将字符串数组转换为单个字符串?例如,您可以使用:

string joined = string.Join(",", appointment.Categories);

嗯,似乎是约会。类别是字符串数组,而不是字符串。您可以使用以下选项:

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

默认情况下,
System.String[]
或字符串数组不会覆盖
ToString
方法。这就是它在与其他字符串关联时打印类型名称的原因。用于获取用户友好的字符串表示形式

string categories = String.Join(", ", appointment.Categories)
类别
现在包含阵列的“Cat1、Cat2、Cat3”
[“Cat1”、“Cat2”、“Cat3”]

只需加入阵列即可

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

.Categories
不是字符串。Categories是对象的集合,您需要迭代集合并打印其中的每个类别。foreach循环非常适合于此。String.join()是如何实现的?它只是foreach循环的一个语法糖,还是实现不同。请让我们知道。@Sandeep:这是一个方法调用。那怎么可能是糖呢?我不知道如何立即实现,但显然它必须迭代。。。
myText.InnerHtml += string.Join("categori::", appointment.Categories) + "\n";