c# - 我是在重新发明轮子吗?

标签 c# extension-methods

public static void Apply<T>(this IList<T> source, Func<T, T> func)
{
    for (int i = 0; i < source.Count; i++)
    {
        source[i] = func.Invoke(source[i]);
    }
}

示例:

 List<string> fruits = new List<string> { "ApPel", "BANana", "oRANGE" };
 fruits.Apply((x) => x.ToUpper());

结果:苹果香蕉橙

  • 我是在重新发明轮子,还是已经存在了?
  • Apply可以写的更好吗?

最佳答案

fruits = fruits.Select(x => x.ToUpper()).ToList();

关于c# - 我是在重新发明轮子吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864563/

相关文章:

c# - Android 应用 + 网络服务

c# - 使用这种类型的外部库后出现错误 "Type does not exist in the namespace"

c# - 向可空类型添加方法

swift - NSLayoutAttribute 扩展添加案例

typescript - 我们如何在 TypeScript 中为非全局接口(interface)创建扩展方法?

ios - 从 Objective-C 文件调用 UIImageView 的 Swift 扩展中的方法

c# - 为什么 WCF 中不允许方法重载?

c# - ASP.NET MVC 全局错误处理

c# - 如何使用 EntityFramework.BulkInsert?

c# - 使用嵌套类中定义的扩展方法