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

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
Last Week in AI
Last Week in AI
腾讯CDC
The Cloudflare Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MyScale Blog
MyScale Blog
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
I
InfoQ
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
Y
Y Combinator Blog
H
Help Net Security
T
Tailwind CSS Blog
美团技术团队
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed

博客园 - 拖鞋不脱

【原】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,并加入讨论