/// <summary> /// Read a file of forbidden words and check the text /// for them. /// Check for empty string. /// </summary> /// <param name="value"></param> public static void ValidateComment(string value) { var words = value .Trim() .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) .ToList(); if (!(0 < words.Count && words.Count <= 200)) { throw new ArgumentException("Comment must be between 0 and 200 words"); } foreach (var word in words) { CheckForLettersAndDigits(word); CheckWordLength(word); } var forbidden = ReadWriteFile.ReadForbiddenWordsFromFile(); foreach (var word in forbidden) { var check = words.Where(current => current == word).Count(); if (check > 0) { throw new ArgumentException("Using inappropriate language"); } } }