C#程序,以确定两个词是否互为字母

对于anagram,另一个字符串在第一个字符串中将具有相同的字符,但是字符的顺序可以不同。

在这里,我们正在检查以下两个字符串-

string str1 = "heater";
string str2 = "reheat";

将两个字符串都转换为字符数组-

char[] ch1 = str1.ToLower().ToCharArray();
char[] ch2 = str2.ToLower().ToCharArray();

现在,对它们进行排序-

Array.Sort(ch1);
Array.Sort(ch2);

排序后,将它们转换为字符串,如以下代码所示:

示例

using System;

public class Demo {
   public static void Main () {
      string str1 = "heater";
      string str2 = "reheat";
      char[] ch1 = str1.ToLower().ToCharArray();
      char[] ch2 = str2.ToLower().ToCharArray();
      Array.Sort(ch1);
      Array.Sort(ch2);
      string val1 = new string(ch1);
      string val2 = new string(ch2);

      if (val1 == val2) {
         Console.WriteLine("Both the strings are Anagrams");
      } else {
         Console.WriteLine("Both the strings are not Anagrams");
      }
   }
}

输出结果

Both the strings are Anagrams