逗号分隔使用 string.Join with LINQ

Pri*_*iya 1 c# linq lambda

我在 lambda 表达式中使用 string.Join 来形成逗号分隔值

我使用以下代码实现了它:

    var viewData = queue.Select(items => new companyQueueWithSegInfo()
{
 segmentName = string.Join(",", items.Select(i => i.seginfo.Trim()));

                                  }).AsQueryable()

}
Run Code Online (Sandbox Code Playgroud)

输出将是:

AB ,CD
Run Code Online (Sandbox Code Playgroud)

但我需要输出为

AB, CD
Run Code Online (Sandbox Code Playgroud)

我试过这样:

string.Join(" ,",items.Select(i => i.segminfo)).Replace(",", ", ").Replace(" ,","")
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个?但它没有用。

Son*_*nül 6

如果seginfo是a string,那Trim他们先加入然后加入", "呢?

string.Join(", ", items.Select(i => i.seginfo.Trim()));
Run Code Online (Sandbox Code Playgroud)

您还应该检查您的项目是否null防止 NRE 之类的;

string.Join(", ", list.Where(s => s != null).Select(i => i.Trim()))
Run Code Online (Sandbox Code Playgroud)

或者可以IsNullOrEmpty像其他人提到的那样使用。