diff --git a/strings/README.md b/strings/README.md index e7637b20..8e3e7af8 100644 --- a/strings/README.md +++ b/strings/README.md @@ -4,6 +4,11 @@ 1. [Palindrome Check](c-or-cpp/palindrome.c) +### C# +You could use any online IDE (for an example [.net Finddle](https://dotnetfiddle.net/)) to test them. + +1. [Palindrome Check](csharp/palindrome.cs) + ### JavaScript 1. [Palindrome Check](js/palindrome.js) diff --git a/strings/csharp/palindrome.cs b/strings/csharp/palindrome.cs new file mode 100644 index 00000000..b01d70cb --- /dev/null +++ b/strings/csharp/palindrome.cs @@ -0,0 +1,24 @@ +using System; +using System.Linq; +using System.Text.RegularExpressions; + +public class Program +{ + public static void Main() + { + bool result = false; + result = IsPalindrome("abba"); + Console.WriteLine(result); + result = IsPalindrome("abbccbbA"); + Console.WriteLine(result); + result = IsPalindrome("Mr. Owl ate my metal worm"); + Console.WriteLine(result); + } + + private static bool IsPalindrome(string source) { + source = source.ToLower(); + source = Regex.Replace(source, @"[^0-9A-Za-z]", ""); + string reverse = new string(Enumerable.Range(1, source.Length).Select(i => source[source.Length - i]).ToArray()); + return reverse == source; + } +} \ No newline at end of file