这是一个字符串:-A -P -O
现在我们有相同的东西,但是顺序是另外一个:-P -A -O
检测这两个字符串相同的最佳方法是什么?
答案 0 :(得分:6)
var setA = "-A -P -O".Split(' ');
var setB = "-P -A -O".Split(' ');
var areSetsEqual = setA.Except(setB).Count() == 0 && setB.Except(setA).Count() == 0;
答案 1 :(得分:3)
您可以使用Split
方法拆分两个字符串,使用Array.Sort
对数组进行排序,然后使用SequenceEqual
方法比较两个结果数组。
答案 2 :(得分:2)
您可以尝试以下代码:
public bool CheckString(string s1, string s2)
{
var firstArray = s1.Split(' ').ToArray();
var secondArray = s2.Split(' ').ToArray();
Array.Sort(firstArray);
Array.Sort(secondArray);
if (firstArray.Length != secondArray.Length) return false;
for (int i = 0; i < firstArray.Length; i++)
if (firstArray[i] != secondArray[i]) return false;
return true;
}