В ответ на следующий вопрос: Как преобразовать MatchCollection в строковый массив
Учитывая два выражения Linq:
var arr = Regex.Matches(strText, @"\b[A-Za-z-']+\b")
.OfType<Match>() //OfType
.Select(m => m.Groups[0].Value)
.ToArray();
и
var arr = Regex.Matches(strText, @"\b[A-Za-z-']+\b")
.Cast<Match>() //Cast
.Select(m => m.Groups[0].Value)
.ToArray();
OfType < > был оценен пользователем Alex немного быстрее (и подтвержден мной).
Это кажется мне неинтересным, поскольку я бы подумал, что OfType < > должен был бы выполнить сравнение "is" и листинг (T).
Любое просветление будет оценено по поводу того, почему это так:)