字符串加入列表和项目

Tos*_*shi 0 c# string

我需要加入字符串和List<string>项目.我的守则

List<string> list = new List<string>() { "item1", "item2" };
string item3 = "item3";

string result = string.Join(",", list, item3); 
Run Code Online (Sandbox Code Playgroud)

结果是

//System.Collections.Generic.List`1[System.String],item3
Run Code Online (Sandbox Code Playgroud)

而不是预期的

//item1,item2,item3
Run Code Online (Sandbox Code Playgroud)

什么是最优雅的方法,以解决这个内联?可能有多个List<string>和多个string,每个都可以为null.

Pat*_*man 7

您可以使用Concat(不更改原始列表!)和Join可枚举的所有字符串连接:

List<string> list = new List<string>() { "item1", "item2" };
string item3 = "item3";

string result = string.Join(",", list.Concat(new string[] { item3 }));
// result = item1,item2,item3
Run Code Online (Sandbox Code Playgroud)

您当前代码的问题在于它调用string.Join(string, params IEnumerable<object>):它将list视为对象,而不是对象的lis.