/// <summary> /// Returns all the longest words from the input string. /// </summary> /// <param name="text">Input string.</param> /// <returns>All the longest words from the input string.</returns> public static List <string> AllTheLongestWords(string text) { char[] separators = new char[] { ' ' }; string[] subs = StringMagic.RemoveExtraSymbols(text) .Split(separators, StringSplitOptions.RemoveEmptyEntries); var allTheLongest = new List <string>(); int tempMaxLength = default; //string longest = subs.OrderByDescending(s => s.Length).First(); foreach (var sub in subs) { if (sub.Length >= tempMaxLength) { tempMaxLength = sub.Length; } } foreach (var t in subs) { if ((t.Length == tempMaxLength)) { allTheLongest.Add(t); } } return(allTheLongest); }
/// <summary> /// Returns one of the shortest words from the input string. /// </summary> /// <param name="text">Input string.</param> /// <returns>One of the shortest words from the input strings.</returns> public static string OneOfTheShortestWords(string text) { char[] separators = new char[] { ' ' }; string[] subs = StringMagic.RemoveExtraSymbols(text) .Split(separators, StringSplitOptions.RemoveEmptyEntries); int tempMinLength = int.MaxValue; string oneOfTheShortest = ""; foreach (var sub in subs) { if (sub.Length <= tempMinLength) { tempMinLength = sub.Length; oneOfTheShortest = sub; } } return(oneOfTheShortest); }