4
这种方法纯吗?
我有以下扩展方法: public static IEnumerable<T> Apply<T>( [NotNull] this IEnumerable<T> source, [NotNull] Action<T> action) where T : class { source.CheckArgumentNull("source"); action.CheckArgumentNull("action"); return source.ApplyIterator(action); } private static IEnumerable<T> ApplyIterator<T>(this IEnumerable<T> source, Action<T> action) where T : class { foreach (var item in source) { action(item); yield return item; } } 它只是在返回序列之前对序列的每个项目执行操作。 我想知道是否应该将Pure属性(来自Resharper注释)应用于此方法,并且可以看到支持和反对该参数的参数。 优点: …