考慮以下代碼片段:通用擴展方法返回的IEnumerable <T>不使用反射
public static class MatchCollectionExtensions
{
public static IEnumerable<T> AsEnumerable<T>(this MatchCollection mc)
{
return new T[mc.Count];
}
}
這個類:
public class Ingredient
{
public String Name { get; set; }
}
有什麼辦法神奇地變換MatchCollection
對象的集合Ingredient
?用例將是這個樣子:
var matches = new Regex("([a-z])+,?").Matches("tomato,potato,carrot");
var ingredients = matches.AsEnumerable<Ingredient>();
更新
純LINQ基礎的解決方案就足夠了爲好。
選項#2工作。謝謝 :) – roosteronacid 2010-04-16 08:35:57