在唯一的分配器上拆分字符串,再次排序和连接

时间:2014-04-01 16:43:01

标签: c# linq sorting split unique

我只是在学习C#,所以如果解决方案很明显,请不要责备我。

我有逗号分隔的字符串。我想拆分它,从拆分数组中删除重复项,排序结果数组,然后再次连接。

E.g。对于字符串"3,a,b,3,a,c,s,3,1,2,3,3",结果应为:"1,2,3,a,b,c,s"

我到目前为止尝试的是下一个代码:

static void Main(string[] args)
{
        string myStr = "3,a,b,3,a,c,s,3,1,2,3,3";
        string[] temp = myStr.Split(',');
        string res = "";
        List<string> myList = new List<string>();

        foreach (var t in temp)
        {
            if (myList.Contains(t)==false){
                myList.Add(t);
            }
        }

        myList.Sort();

        foreach(var t in myList){
            res+=t +",";
        }
        res = res.Substring(0, res.Length - 1);

        Console.WriteLine(res);

}

但我相信有更好的方式..

谢谢你的建议。

1 个答案:

答案 0 :(得分:7)

试试这一行:

Console.WriteLine(string.Join(",",myStr.Split(',').Distinct().OrderBy(x=>x)));