"=="总是返回true.Anagram计划

Ay *_*Jay -2 c# anagram

我做了一个简单的函数,通过排序和比较排序的值来检查两个单词是否是一个字谜,但是即使单词不是anangrams,该程序也总是返回true.如果我删除.ToString(),它将评估为false.知道它为什么这样做以及如何解决这个问题的想法?

public bool anagram(string word1, string word2)
    {
        char[] word1Arr = word1.ToArray();
        char[] word2Arr = word2.ToArray();

        Array.Sort(word1Arr);

        Array.Sort(word2Arr);

        Console.WriteLine(word1Arr);
        Console.WriteLine(word2Arr);

        if (word1Arr.ToString() == word2Arr.ToString())
        {
            return true;
        }
        else
        {
            return false;
        }


    }
Run Code Online (Sandbox Code Playgroud)

fub*_*ubo 8

更换

if (word1Arr.ToString() == word2Arr.ToString())
Run Code Online (Sandbox Code Playgroud)

if (word1Arr.SequenceEqual(word2Arr))
Run Code Online (Sandbox Code Playgroud)

比较数组的内容 - 因为word1Arr.ToString()返回"System.Char[]"和你的比较结果

"System.Char[]" == "System.Char[]" 
Run Code Online (Sandbox Code Playgroud)

总是如此