max amount of characters string c# code example

Example: c# + max char frequency in string

//return the character that appears the maximum number of times in the string
//contain only ASCII characters, from the ranges ('a'-'z','A'-'Z','0'-'9'), and case sensitive
//If there is a tie in the maximum number of times a character appears in the string, return the character that appears first in the string 

public static void Main(string[] args)
{
  CharCounter("This is a neat day for Things about Coding9999");        
}
public static void CharCounter(string str) 
{
    string strValidated = "";
    str = str.Replace(" ", "");     //Remove all spaces

  //Validate alpha-numberic only
    if (Regex.IsMatch(str, @"^[A-Za-z0-9]+$")) strValidated = str;
    else throw new FormatException("--------> Only Apha Numeric values allowed");

    Dictionary<char, int> dict = new Dictionary<char, int>();

    foreach (char c in strValidated)    //Create Dictionary
    {
      if (dict.ContainsKey(c)) dict[c] = dict[c] + 1;
      else dict.Add(c, 1);
    }
  //Sort(K,V) by Highest Values
    var ordered = dict.OrderByDescending(x => x.Value)
      .ToDictionary(d => d.Key, d => d.Value);

  //var singleEntryDict = ordered.First();  
    var result = ordered.Take(1)
      .ToDictionary(d => d.Key, d => d.Value);

    foreach (var item in result.Keys)
    {
      Console.WriteLine($"Key= {item} : Value= {result[item]}");
    }
            
}