private static bool IsPalindrome(string s)
return s.RemoveBlanksAndMakeInvariant() == string.Join(string.Empty, s.Reverse()).RemoveBlanksAndMakeInvariant();
private static void Check(string s, bool shouldBePalindrome)
Console.WriteLine(IsPalindrome(s) == shouldBePalindrome ? "pass" : "FAIL");
public static void Main(string[] args)
Check("Mr owl ate my metal worm", true);
Check("Never Odd Or Even", true);
Check("Never Even Or Odd", false);
public static class StringExtensions
public static string RemoveBlanksAndMakeInvariant(this string str)
return str.Replace(" ", string.Empty).ToUpperInvariant();