文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在VS2008 和 VS2010 中写代码, 最后以.net 2.0发布, 能用 .net 3.5的语法

在VS2008 和 VS2010 中写代码, 最后以.net 2.0发布, 能用 .net 3.5的语法

时间:2010-11-06  来源:Ligen

  显然,扩展方步不支持,编译就不通过:

其他的测试 编译都通过,代码如下:

代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace ConsoleApplication1
{
class Program
{

static void Main(string[] args)
{
//测试lambda表达式
Thread thread = new Thread((object state) =>
{
Console.WriteLine(
"奶奶的!lambda表达式竟然可以用!");
});
thread.Start();

//测试 隐式类型局部变量
var a = " 神了!隐式类型局部变量可以用! ";
Console.WriteLine(a);

//测试 自动属性
Test test = new Test();
test.AutoProperty
= "乖乖!自动属性页可以用啊!";
Console.WriteLine(test.AutoProperty);

////测试 扩展方法
//string ss = "ss";
//Console.WriteLine(ss.TestExtension());

//测试 对象初始化器
test = new Test() { AutoProperty = "无语了,对象初始化器也支持!" };
Console.WriteLine(test.AutoProperty);

//试试数组
List<string> list = new List<string>(){"哎呀,", "数组的初始化也可以啊!"};
Console.WriteLine(list[
0] + list[1]);

//测试默认参数
test = new Test();
Console.WriteLine(test.TestDefaultParameter());

//测试匿名类型
var anonymousType = new { A = "真是的,", B = "匿名类型也支持啊", C = "看来语法都支持啊" };
Console.WriteLine(anonymousType.A
+ anonymousType.B + anonymousType.C);

}
}

//static class StringExtension
//{
// public static string TestExtension(this String str)
// {
// return "不会吧!连扩展方法都支持啊!太神了!";
// }
//}

partial class Test
{
public string AutoProperty
{
get;
set;
}

public string TestDefaultParameter(string a = "看来默认参数也支持!")
{
return a;
}

}


}

 

 

.net framework 2.0 配置:

 

编译一下,然后放到只装有.net framework 2.0 sp1的机器上。确认一下只有 .net framework 2.0 

 

运行结果:

看来 编译通过的 在只有.net framework 2.0的环境中 都运行正常。

总结一下, 在只有.net framework 2.0 环境中, 可以使用的C# 3.0/4.0的特性有:

  1. lambda表达式
  2. 隐式类型局部变量
  3. 自动属性页
  4. 对象初始化器,数组的初始化
  5. 默认参数也支持
  6. 匿名类型

暂时知道的不支持的有

  1. 扩展方法
  2. linq

由于.net 4.0中一些语法还没有完全搞懂,就先不测这些了。

原来我是在网上找了半天,都没有这方面的介绍,所以就自己研究起来,顺便share给大家一下。由于第一次在博客园发文章,有什么不太妥的地方,还希望各位高手指点,比如为什么这样。

  我个人认为,原因应该是这些新语法在编译器编译后生成的程序集中的IL,已经转化成.net framework 2.0的格式了。

好了,就写到这吧,如果有高手了解这个情况,还希望在评论中指点一下,谢谢了。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载