惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
The Cloudflare Blog
V
Visual Studio Blog
罗磊的独立博客
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
D
Docker
Last Week in AI
Last Week in AI
B
Blog RSS Feed
C
Check Point Blog
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
博客园 - 聂微东
MongoDB | Blog
MongoDB | Blog
雷峰网
雷峰网

博客园 - 拖鞋不脱

【原】Silverlight内存泄漏原因、检测及解决(Memory Leak of Silverlight:Reason、Detection and Solving) 【随】不好用的Ria Services 【原】检测是否包含特定字符串的几种方法以及性能比较 【原】StreamInsight 浅入浅出(六)—— Debugger 【原】StreamInsight 浅入浅出(五)—— LINQ 语法 【原】StreamInsight 浅入浅出(四)—— 例子 【原】StreamInsight 浅入浅出(三)—— 适配器 【原】StreamInsight 浅入浅出(二)—— 流与事件 【原】Silverlight 自定义控件模板管理 【原】StreamInsight 浅入浅出(一)—— 基本概念 【原】小软件开发心得(二)——推广、测试 【原】小软件开发心得(一)——需求、开发 【原】豆瓣电台桌面版插件开发——搜索插件 【原】豆瓣电台桌面版——Win7任务栏支持+托盘+快捷键+历史记录 【原】Sql Server性能优化——Slide Window 【原】Sql Server性能优化——Partition(管理分区) 【随】Silverlight请求服务的缓存文件问题 【原】Sql Server性能优化——Partition(创建分区) 【原】Sql Server性能优化——Compression
【译】VS2010中C#的增强
拖鞋不脱 · 2009-10-11 · via 博客园 - 拖鞋不脱

2009-10-11 14:46  拖鞋不脱  阅读(936)  评论()    收藏  举报

原文:VB and C# enhancements in VS 2010

选择一种开发语言是程序员的个人选择,就像挑选一种冰激凌口味——有许多不错的选择,但你最喜欢的口味则是一个个人偏好的问题。

在Visual Studio 2010中,我们对两种最流行的语言:Visual Basic和C#做了一些加强,提供给程序员——无论他们偏好哪种语言——所有的工具,帮助他们去完成一个完美的软件。

Visual Basic

略……

C#

C#4.0主要的改进在于动态编程范式的共用性以及Office的可编程性改进。动态查询,是C#4.0的新功能,使你可以以同样的方式使用并操作IronPython、IronRuby、 JScript、HTML DOM或者标准.NET库中的对象。诸如指定和可选的参数、COM客户端支持等语言方面的增强,则使得面向Office API的C#开发者能够享受Visual Basic开发者同样的美好体验。

在你的代码中添加dynamic这一新的关键词,能够使对象类型在运行时动态获得而不是在编译时制定。这样能够使动态语言以一种更自然的方式向C#暴露它们的对象。

dynamic dynamicObject = GetDynamicObjectFromRuby();

dynamicObject.Foo(7);

dynamicObject.Property = "Property value";

dynamicObject[0] = "Indexed value";

对于Visual Basic和C++的程序员来说,可选参数是很熟悉的,现在,C#程序员也可以使用这一特性。带有默认值的可选参数在方法签名中声明,如下所示:

private void CreateNewStudent(string name, int currentCredits = 0, int year = 1)

上述的方法可以用以下任意一种方式调用:   

CreateNewStudent("Chloe");

CreateNewStudent("Zoe", 16);

CreateNewStudent("Joey", 40, 2);

忽略currentCredits参数,但指定year参数,新的指定功能(高亮处)能够实现这一需求。下述调用同样可行:

CreateNewStudent("Jill", year: 2);

CreateNewStudent(name: "Bill", currentCredits: 30, year: 2);

CreateNewStudent("Will", currentCredits: 4);

指定参数同样是对已有方法书写自阐述调用的好方式,即使它们并没有使用可选参数。

更多

你可以从 VB Futures site以及C# Futures site获取更多关于Visual Studio2010的语言增强或者下载样例。尝试新功能,请下载并安装Visual Studio Beta1,并加入讨论