C#: Check if a string is an anagram of another given string
C# Sharp String: Exercise-58 with Solution
From Wikipedia-
An anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once. For example, the word anagram itself can be rearranged into nag a ram, also the word binary into brainy and the word adobe into abode.
Write a C# Sharp program to check if two given strings are anagrams or not.
Sample Data:
("wxyz", "zyxw") -> True
("pears", "spare") -> True
("stone", "tones") -> True
("cat", "rat") -> False
Sample Solution:
C# Sharp Code:
using System;
using System.Linq;
namespace exercises
{
class Program
{
static void Main(string[] args)
{
// Declare and initialize two string variables
string text1 = "wxyz";
string text2 = "zyxw";
// Display the original strings
Console.WriteLine("Original strings: " + text1 + " " + text2);
// Check if the two strings are anagrams and display the result
Console.WriteLine("Check if two said strings are anagrams or not: " + test(text1, text2));
// Change the values of text1 and text2
text1 = "pears";
text2 = "spare";
// Display the new original strings
Console.WriteLine("\nOriginal strings: " + text1 + " " + text2);
// Check if the two strings are anagrams and display the result
Console.WriteLine("Check if two said strings are anagrams or not: " + test(text1, text2));
// Change the values of text1 and text2
text1 = "stone";
text2 = "tones";
// Display the new original strings
Console.WriteLine("\nOriginal strings: " + text1 + " " + text2);
// Check if the two strings are anagrams and display the result
Console.WriteLine("Check if two said strings are anagrams or not: " + test(text1, text2));
// Change the values of text1 and text2
text1 = "cat";
text2 = "rat";
// Display the new original strings
Console.WriteLine("\nOriginal strings: " + text1 + " " + text2);
// Check if the two strings are anagrams and display the result
Console.WriteLine("Check if two said strings are anagrams or not: " + test(text1, text2));
}
// Define a method 'test' that takes two string arguments and returns a boolean indicating if they are anagrams
public static bool test(string text1, string text2)
{
// Convert both strings to uppercase, sort the characters, and concatenate them
string stext1 = String.Concat(text1.ToUpper().OrderBy(c => c));
string stext2 = String.Concat(text2.ToUpper().OrderBy(c => c));
// Compare the sorted and concatenated strings, return true if they are equal (anagrams), otherwise return false
if (stext1 == stext2)
{
return true;
}
else
{
return false;
}
}
}
}
Sample Output:
Original strings: wxyz zyxw Check if two said strings are anagrams or not: True Original strings: pears spare Check if two said strings are anagrams or not: True Original strings: stone tones Check if two said strings are anagrams or not: True Original strings: cat rat Check if two said strings are anagrams or not: False
Flowchart :
C# Sharp Code Editor:
Improve this sample solution and post your code through Disqus
Previous: Reverse the words of three or more lengths in a string.
Next: Reverse an integer and add with the original number.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/csharp-exercises/string/csharp-string-exercise-58.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics