为什么我的string.Remove()没有按预期工作

本文关键字:工作 我的 string Remove 为什么 | 更新日期: 2023-09-27 18:04:42

我试图解决这个问题,如果两个单词是彼此的字谜(如果我们重新排列字符串,它匹配第二个字符串)。

基于从字符串中删除单个字符我构建了自己的函数:

public class AreAnagrams
{
        public static bool AreStringsAnagrams(string FirstString, string SecondString)
        {
            if (FirstString == null || b == null)
                return false;
            if (FirstString.Length != SecondString.Length)
                return false;
            for (int i = 0; i < SecondString.Length; i++)
            {
                if (FirstString.IndexOf(SecondString[i]) == -1)
                    return false;
                else
                    FirstString.Remove(FirstString.IndexOf(SecondString[i]), 1); // Here it does not modify FirstString, even if I put 2nd parameter as 1
            }
            if (FirstString.Length > 0)
                return false;
            return true;
        }
    public static void Main(string[] args)
    {
        Console.WriteLine(AreStringsAnagrams("neural", "unreal"));
    }
}

在我的手表上,我看到FirstString仍然是这样。有什么问题吗?

为什么我的string.Remove()没有按预期工作

将结果赋给FirstString

FirstString = FirstString.Remove(FirstString.IndexOf(SecondString[i]), 1);