5、购物车构建与组件样式设计全解析
2025/12/26 8:16:17
在 C# 3.0 的新特性中,函数式编程概念十分常见。通过巧妙运用由 lambda 表达式创建的委托,增加额外的间接层次,可以解决一些问题。同时,还可以使用更具函数式风格的方式,替代诸如 for 循环和 foreach 循环等命令式编程风格的结构。
首先,定义了一个 Lisp 风格的前向链表接口IList<T>及其实现类MyList<T>:
public interface IList<T> { T Head { get; } IList<T> Tail { get; } } public class MyList<T> : IList<T> { public static IList<T> CreateList( IEnumerable<T> items ) { IEnumerator<T> iter = items.GetEnumerator(); return CreateList( iter ); } public static IList<T> CreateList( IEnumerator<T> iter ) { if( !iter.MoveNext()