我没有太多使用yield关键字的经验.我有这些IEnumerable< T>类型转换的扩展名.
我的问题是第一个重载方法是否具有与第二个方法相同的收益返回效果?
public static IEnumerable<TTo> ConvertFrom<TTo,TFrom>(this IEnumerable<TFrom> toList) { return ConvertFrom<TTo,TFrom>(toList,TypeDescriptor.GetConverter(typeof(TTo))); } public static IEnumerable<TTo> ConvertFrom<TTo,TFrom>(this IEnumerable<TFrom> toList,TypeConverter converter) { foreach (var t in toList) yield return (TTo)converter.ConvertFrom(t); }