从C#中的字符串中删除重复的单词

AYE*_*ETY 4 c#

这是我的代码:

class Program
    {
        static void Main(string[] args)
        {
            string sentence = string.Empty;
            sentence = Console.ReadLine();
            string[] sent = sentence.Split(' ');
            //to be sorted alphabetically
            var x =
                from k in sent
                orderby k
                select k;

            foreach (string s in x)
            {
                    Console.WriteLine(s.ToLower());
            }

            Console.ReadLine();
        }
    }
Run Code Online (Sandbox Code Playgroud)

有什么方法可以找到并删除重复的单词,或者我应该制作自己的方法?

p.s*_*w.g 10

您可以使用Linq的Distinct扩展方法:

var sent = sentence.Split(' ').Distinct();
Run Code Online (Sandbox Code Playgroud)

您还可以使用它来比较它们时忽略字符串的情况 - 例如"WORD","word"它将被视为重复:

var sent = sentence.Split(' ').Distinct(StringComparer.CurrentCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud)


emp*_*mpi 8

使用System.Linq 区别:

foreach (string s in x.Distinct())
Run Code Online (Sandbox Code Playgroud)