我正在尝试在两个字符串数组上执行SQL MINUS的等效操作。这是我试图复制的代码:
string returnValue = "";
foreach (string eachWord in allWords)
{
foreach (string ignoreWord in ignoreWords)
{
if (eachWord != ignoreWord)
{
returnValue += eachWord;
}
}
}
我想将其重写为:
returnValue = allWords.Minus(ignoreWords);
或同样简洁的东西。我意识到在幕后我最终会得到相同的代码,但我只是在迂腐!
答案 0 :(得分:8)
returnValue = allWords.Except(ignoreWords);
答案 1 :(得分:0)
如果您只想让字符串不是IEnumerable<string>
,您可以这样做:
var res = allWords.Except(ignoreWords);
然后,
StringBuilder sb = new StringBuilder();
res.ForEach(item => sb.Append(item));
string ss = sb.ToString();
或者如果你想要一些分隔符,你可以这样做:
string concatenatedStr = string.Join(",", res.ToArray());