Atitit .c#的前途新特点计划草案

Atitit .c#的前景新特性计划草案

 

1. C#的未来:追踪空引用1

1.1. 2. 变量命名空间1

1.2. 10. 色援Native dll2

1.3. 10. 种援Native dll2

2. 三、设计面向 面向变量的汇编语言,高级语言出现继,从Pascal/C语言面向过程与变量,到C++过后的面向对象2

2.1. 1. 面向集合3

2.2. 2. 面向并发3

2.3. 3. 面向任务(异步3

3. 参考3

 

 

1. C#的前途:追踪空引用

olang 都反映了新一代编程语言的设计哲学。
简单易行的机要字,
非侵入式的面向对象设计(没有了连续)

1.1. 2. 变量命名空间

class ProductUtil{

    namespace Price

    {

        float old;

        float New;

        float standard;

    }     

 

    float GetPrice(){

        float Price.discount;   //声明折扣

        //计算价格…   

        return Price.New;

    }

}

取名空间可以当艺术外,也堪以档次内。声明命空间后,可以独自声明一个变量。

笔者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

1.2. 10. 品类援Native dll

今天设调用C/C++的程序集,必须查好参数,转化项目,再比如这种方法宣示:

[DllImport(“User32.dll”, CharSet = CharSet.Unicode)]public static extern int MessageBox(int h, string m, string c, int type);

 为什么不可知像引用.NET dll那样引用C/C++写的dll呢,或者如Service Reference那样,增加一个Native Reference的目,自动生成代理类。

1.3. 10. 档援Native dll

兹如调用C/C++的程序集,必须查好参数,转化项目,再例如这种方法宣示:

[DllImport(“User32.dll”, CharSet = CharSet.Unicode)]public static extern int MessageBox(int h, string m, string c, int type);

 为什么不可知如引用.NET dll那样引用C/C++写的dll呢,或者诸如Service Reference那样,增加一个Native Reference的目录,自动生成代理类。

 

 

 使用元组的目标是坐同样栽轻量级的法于一个函数中回到多个价值。对元组的好支持能够清除对out参数的运,这种参数通常给认为是平等种植笨重的方案。此外,out参数无法配合 async/await,因此当很多光景中out参数将转移得毫无作用

2. 三、设计面向 面向变量的汇编语言,高级语言出现继,从Pascal/C语言面向过程和变量,到C++之后的面向对象

编程语言发展都过半个世纪了,先是面向变量的汇编语言,高级语言出现后,从Pascal/C语言面向过程与变量,到C++以后的面向对象。 C#同Java只是语言特征上发大幅改善,设计思想并无迅速。

C#用作最先进的编程语言,反映了脚下语言发展之瓶颈。要有所突破,必须要有新的筹划思想,把面向粒度提高到新的层系。

私分析后觉得,未来C#或C#的后继者,会往三单样子发展:

2.1. 1. 面向集

前程编程语言遇到的业务逻辑将重新复杂,对聚集处理是业务逻辑的核心内容。LINQ使C#挪在业界的前列,然而还有多题目。

由于历史原因,集合类型最多尽滥。支持泛型是要,我们用依据可变性、排序性、Hash特性、并发要求等,使用相同的胜性能集合类型。这些集合类能够活转化,智能地拍卖扩容、复制等脚操作,且从未LINQ那样无法跨程序域传递的克。这要框架和CLR双重支持。

2.2. 2. 面向并发

本条是大自然之动向,除非有现光、生物、量子计算技术之很快,不然半导体电路处理器单核极限愈来愈难突破,多按趋势愈演愈烈。未来底编程语言,并作支持必须融入那底层。

要用Node.js来说,已经初具此特性,其对IO的拜会全部非阻塞的,是自从底层支持的异步操作。

对于C#来说,就无单纯是框架达成修修补补,而是CLR的两全支持。async和await出现是单非常好之苗子,期待看到更多这样的前行。

2.3. 3. 面向任务(异步

Node.js它经过波轮询(event loop)来促成并行操作,这只能处理极其简单易行地多任务并。要兑现真正的出现语言,并满足日益复杂的工作逻辑处理,必须对出现的单元-任务拓展强有力之支持。

.NET对职责产生矣System.Threading.Tasks下同样系列类的支持,但当下才是开。我们要动态地创造、分解、修改、取消任务,需要有利地取与控制任务之状态,管理超时和资源,统计任务效率,处理好。

 

3. 参考

论C#前程迈入 – 小城市故事 – 博客园.htm

C#的前途:元组及匿名结构体-IT168 技术开发专区.htm

C#的前景:扩展属性和重新多 – 推酷.htm