仅在项目存在时将字符串列表转换为字符串

时间:2016-11-29 10:15:24

标签: c# string

我有一个返回字符串列表的函数:

string displayText;
List<string> list = new List<string>();
list = GetListOfStrings();
if(list.Count > 1)
{
    displayText = string.Join("\r", list.ToArray());
}
else
{
    displayText = list.ToString();
}

如果列表中有多个字符串,那么我将它们用\ r分隔显示,如果只有一个,那么我就无法将其转换为字符串。

但是,当只有一个字符串时,上面显示“System.Collections.Generic.List1 [System.String]”

如果列表中只有一个字符串,最好的方法是什么?

3 个答案:

答案 0 :(得分:2)

没有理由在列表中使用declare var - 只需抓住第一个(也是唯一的)项目:

ToString

评论中的两个答案似乎都是正确的,但displayText = list[0]; 上的ToString有点多余。我想&#34;删除if&#34;实际上是最好的答案。

答案 1 :(得分:0)

使用 SingleOrDefault()获取列表中唯一的项目

if(list.Count > 1)
{
    displayText = string.Join("\r", list.ToArray());
}
else
{
    displayText = list.SingleOrDefault();
}

答案 2 :(得分:0)

没有多个项目并不意味着它有一个项目。 您可以使用:

string displayText;
List<string> list = new List<string>();
list = GetListOfStrings();
displayText = string.Join("\r", list);