0

2つの文字列配列でSQLMINUSと同等の処理を実行しようとしています。これが私が複製しようとしているコードです:

        string returnValue = "";
        foreach (string eachWord in allWords)
        {
            foreach (string ignoreWord in ignoreWords)
            {
                if (eachWord != ignoreWord)
                {
                    returnValue += eachWord;
                }
            }
        }

これを次のように書き直したいと思います。

returnValue = allWords.Minus(ignoreWords);

または同様に簡潔なもの。舞台裏では同じコードになってしまうことに気づきましたが、私はただ衒学者です!

4

2 に答える 2

8
returnValue = allWords.Except(ignoreWords);
于 2012-07-23T19:34:52.887 に答える
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());
于 2012-07-23T20:06:44.147 に答える