using System.Globalization;
using System.Collections.Generic;
public static bool HasDiacritics(string value)
var normalize = value.Normalize(NormalizationForm.FormD);
var sb = new StringBuilder();
foreach (var t in normalize.Where(t => CharUnicodeInfo.GetUnicodeCategory(t) != UnicodeCategory.NonSpacingMark))
return (sb.ToString().Normalize(NormalizationForm.FormC) != value);
public static void Main(string[] args)
var list = new List<string>()
{"Lina want to go to school. Mi rư xă", "Lina want to go to school", "Lina want to go to sch`ool", "Lina want Ξ, ©, ±", };
var results = list.Select(HasDiacritics);
foreach (var result in results)
Console.WriteLine(result);