c#4.0 f#
来源:互联网 发布:linux删除挂载硬盘 编辑:程序博客网 时间:2024/06/04 21:58
刚刚看了一些F#,C#4.0动态类型方面的文章,有些感触。
先说 F#
函数式编程,静态语言,这种语言的抽象度很高,不易掌握,理解。不适合初学者。另外,好像没有看到这种语言的优势,除了在“并行运算”方面。对于它是否能够推广开,我有些疑虑。
再说 C#4.0动态类型
先看这段代码
- class Program
- {
- public static object GetBusinesLogicInstance(
- BusinessLogicObjectType businessLogicObjectType)
- {
- switch (businessLogicObjectType)
- {
- case BusinessLogicObjectType.ProductBL: return new ProductBL();
- case BusinessLogicObjectType.CustomerBL: return new CustomerBL();
- default: return null;
- }
- }
- static void Main(string[] args)
- {
- dynamic dynamicBLObject = GetBusinesLogicInstance(
- BusinessLogicObjectType.ProductBL);
- dynamicBLObject.ProcessNewProductData();
- Console.Read();
- }
- }
注意红色部分,函数 GetBusinesLogicInstance 返回对象为 object 类型 ,如果调用代码这么写
- object dynamicBLObject = GetBusinesLogicInstance(
- BusinessLogicObjectType.ProductBL);
- dynamicBLObject.ProcessNewProductData();
编译一定通不过,现象把 object 改成 dynamic 编译就能通过,这样一来,就等于不再要求类型安全,就和c++一样了,
真的怀疑它的好处,另外也易出错。
- c#4.0 f#
- F#与C#比较
- 从C# 3.0到F#
- VS2015, .NET 4.6, C# 6.0, F# 4.0等重量级产品正式上线
- F# 调用 C# 编写的类库
- C#调用F#及简单性能对比
- F#和C#里面的NULL 值
- 3.C# vs F# 简单求和
- 5.F# vs C# 网页下载
- 9.5 在 C# 中使用 F# 库
- f
- f
- f
- f
- f
- F#
- f
- F
- 深入浅出讲解TCP/UDP协议
- access 和SQL SERVER数据库的区别
- 认识Web-config配置文件
- 我开始搞搞我这个博客了!
- [Music]30首经典萨克斯名曲
- c#4.0 f#
- C#在dataGridView中遍历,寻找相同的数据并定位
- IT之路
- Python入门的36个例子 之 28 -> Pickle —— 利用文件存储对象
- Python入门的36个例子 之 29 -> OOP – 创建一个类
- sql经典语句
- Access数据操作Update方法
- Python入门的36个例子 之 30 -> OOP – 初始化
- Python入门的36个例子 之 31 -> OOP – 属于类的变量和属于对象的变量