と を使用することをお勧めしSplit()
ますExcept()
:
string s1 = "Hello welcome to the world of C sharp";
string s2 = "Hello world welcome to the world of C";
var s1Words = s1.Split(' ', StringSplitOptions.RemoveEmptyEntries);
var s2Words = s2.Split(' ', StringSplitOptions.RemoveEmptyEntries);
var s1Only = s1Words.Except(s2Words);
var s2Only = s2Words.Except(s1Words);
Console.WriteLine("The unique words in S1 are: " + string.Join(",", s1Only));
Console.WriteLine("The unique words in S2 are: " + string.Join(",", s2Only));
同じリストにそれらが必要な場合は、次を使用できますConcat()
。
var allUniqueWords = s1Only.Concat(s2Only);
を使用して同じ単語を見つけることもできますIntersect()
。
var sameWords = s1Words.Intersect(s2Words);
LINQ の集合演算は、このような種類のものに最適です。Union()
両方からのすべての単語の個別のリストを提供するもあります。次に例を示します。
var allWords = s1Words.Union(s2Words);