C# &引用;“聪明的”;串接字符串的方法?

C# &引用;“聪明的”;串接字符串的方法?,c#,string,concatenation,C#,String,Concatenation,我正在寻找一种用分隔符连接字符串的“智能”方法。显然,我可以自己编写所有这些代码,所以我想知道是否有一种简单的方法(LINQ或其他一些我不知道的方法)来实现这一点 假设我有一组字符串(可以是任意数量的字符串): 我想把字符串连接起来,这样结果就像a,b,c。这很容易,但有一个转折点:如果任何字符串为空,我不需要额外的逗号 例如,如果这是我的集合: string s1 = ""; string s2 = "b"; string s3 = "c"; 我希望结果是b,c(或者如果s1和s2都为空,则

我正在寻找一种用分隔符连接字符串的“智能”方法。显然,我可以自己编写所有这些代码,所以我想知道是否有一种简单的方法(LINQ或其他一些我不知道的方法)来实现这一点

假设我有一组字符串(可以是任意数量的字符串):

我想把字符串连接起来,这样结果就像
a,b,c
。这很容易,但有一个转折点:如果任何字符串为空,我不需要额外的逗号

例如,如果这是我的集合:

string s1 = "";
string s2 = "b";
string s3 = "c";
我希望结果是
b,c
(或者如果
s1
s2
都为空,则只需
c

有没有简单的方法可以做到这一点?

使用:

使用系统;
使用System.Linq;
使用System.Collections.Generic;
名称空间测试仪
{
公共课程
{
公共静态void Main(字符串[]args)
{
字符串空格=”;
字符串a=“一”;
字符串b=“两”;
字符串c=“三”;
var filteredList=(新列表{space,a,b,c})。其中(x=>!string.IsNullOrWhiteSpace(x));
string abc=string.Join(“,”,filteredList);
Console.WriteLine(abc);//一,二,三
Console.ReadKey();
}
}
}
var list=新列表{“a”、“b”、“null};
var res=string.Join(“,”,list.Where(s=>!string.IsNullOrEmpty(s));

string.join。。。。。。。。。可能会抛出一个.where(s=>!string.isnullorempty(s))in@pm100听起来不错-你能举个例子回答吗?很好!非常简单!(我对它进行了编辑,为您修改了语法和大小写)
string s1 = "";
string s2 = "b";
string s3 = "c";
using System;
using System.Linq;
using System.Collections.Generic;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            string space = " ";
            string a = "One";
            string b = "Two";
            string c = "Three";
            var filteredList = (new List<string> { space, a, b, c }).Where(x => !string.IsNullOrWhiteSpace(x));
            string abc = string.Join(", ", filteredList);
            Console.WriteLine(abc); //One, Two, Three
            Console.ReadKey();
        }
    }
}
string.Join(",", SOME_STRING_COLLECTION.Where(x => !string.IsNullOrWhiteSpace(x)));
var list = new List<string>{"a","b","", null};
var res = string.Join(", ", list.Where(s => !string.IsNullOrEmpty(s)));