从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(); } }
有什么方法可以找到并删除重复的单词,或者我应该制作自己的方法?
使用区别:
foreach (string s in x.Distinct()) { Console.WriteLine(s.ToLower()); }
您可以使用Linq的Distinct
扩展方法:
var sent = sentence.Split(' ').Distinct();
您也可以使用它来比较字符串的情况 – 例如"WORD"
和"word"
将被视为重复:
var sent = sentence.Split(' ').Distinct(StringComparer.CurrentCultureIgnoreCase);
使用System.Linq 区别 :
foreach (string s in x.Distinct())
这应该做你要问的一切:
class Program { static void Main(string[] args) { string sentence = string.Empty; sentence = Console.ReadLine(); var sent = sentence .Split(' ') .Distinct() .OrderBy(x => x); foreach (string s in sent) { Console.WriteLine(s.ToLower()); } Console.ReadLine(); } }
希望能帮助到你!