如何比较这两个字符串

Hor*_*ing 1 c# sql

我有一个关于如何比较两个字符串的问题.

这是代码.

        string stringA = "This is a test item";
        string stringB = "item test a is This";
Run Code Online (Sandbox Code Playgroud)

显然,stringB包含来自stringA的每个单词,但顺序不同.

我想要的结果应该是正确的.

我的问题是,我该怎么办?我试图使用.Contains()方法,但结果为FALSE.

感谢大家.

更新

谢谢大家的亲切回复.

这是我的澄清

我实际上是使用LINQ和EF构建数据库搜索功能.

假设一个项目的名称为"This is a test item".

如果用户输入"test a is this",我希望该功能足够智能以捕获上述项目.

有什么建议吗?

另一个更新

再次感谢你的帮助.

我喜欢Peter Ritchie的代码密码,Dave和EdFred的建议.

Pet*_*hie 6

'String.Split'带有空格分隔符的单词,将结果数组排序到List中,然后比较列表.例如:

var x = new List<string>(stringA.Split(' '));
x.Sort();
var y = new List<string>(stringB.Split(' '));
y.Sort();
bool areEqual = x.SequenceEqual(y);
Run Code Online (Sandbox Code Playgroud)

更新如果您想要不区分大小写:

var x = new List<string>(stringA.Split(' '));
x.Sort();
var y = new List<string>(stringB.Split(' '));
y.Sort();
bool areEqual = x.SequenceEqual(y, StringComparer.OrdinalIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

但是,如果您正在寻找将在SQL Server中执行的内容,那么您可能还需要其他内容.