C#creo4.0最新版本下载是4.0吗

Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结 - CSDN博客
Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结
Atitit.c#&.net&3.5&4.0&各个版本新特性战略规划总结
1.&--------------.Net&Framework版本同版本的关系&
分类:&人阅读&评论收藏&举报&
.NET&Framework&版本&版本&
4.5&&4.5&&
2.&paip.------------SDK2.0功能&
数据保护:&
新的数据保护包括四种方法以允许应用程序去加密密码、、连接字符串等等&
2.1.&泛型:&
作者::&老哇的爪子&Attilax&艾龙,&&EMAIL:
转载请注明来源:&http://blog.csdn.net/attilax
3.&--------------sdk3.0&&增加了以下功能&
WPF(),内部代码,是一套基于()、和矢量图技术的全新的图形界面系统和,它充分利用了计算机的显卡硬件功能和技术。&
WCF(),内部代码,是一个面向服务的通讯框架,利用它可以实现本地和远程的程序之间的交互。&
WF()于年月公开,微软提供的工作流引擎,通过它可以实现任务的自动化和事务的集成。&
InfoCard是一个软件组件的代码,用来安全的保存和使用用户的数字身份,并提供统一的界面来针对特定的事务选择身份,例如登陆一个网站。&
运行环境没什么区别,在上都是,主要增加了这几个框架类库
--------------SDK3.5新加功能
Windows&Communication&Foundation更加完美
----------sdk4.0&新加功能&
管理的可扩展性框架&、&
&动态语言运行时&和合同代码&
具体来说,本文中将介绍框架的如下一些新功能和改进特征:
  应用程序兼容性和部署
  内核新功能及改进
  托管扩展框架
  并行计算
  网络编程
  客户端开发
  通信和工作流
NET&4九大新特性&达到新境界湖北媒体库大楚网腾讯网
5.&].Net4.5的五项强大新特性
5.1.&特性一:async和await
5.2.&特性二:Zip压缩
5.3.&特性三:正则表达式执行超时
5.4.&特性四:配置(Profile)优化(提高启动性能)
5.5.&特性五:垃圾回收(GC)(后台GC垃圾清理)
5.6.&另外三个值得探索的新特性
5.10.&&&&&
6.&--C#&。&
6.1.&Async-friendly&APIs&
版本的进了两个新关键字和&
关键字表明使用的是异步调用方法。这对于调用者来说,理解它非常重要,因为这意味着方法会在它结束前返回方法能够在异步调用时中途放弃而直接返回给它的调用者。
关键字表明我们希望保证自上而下的逻辑&异步调用&而不是手动编写回调函数。下面是他们完美结合在一起的例子:
1.&public&async&void&ShowReferencedContent(string&filename)&{&
2.&&&string&url&=&await&BeginReadFromFile(filename);&
3.&&&string&contentOfUrl&=&await&BeginHttpGetFromUrl(url);&
4.&&&MessageBox.Show(contentOfUrl);&
6.2.&方法调用信息
6.3.&在Lambda表达式中使用循环变量
第三:支持null类型运算:
7.&C#6.0&中的那些新特性
7.1.&C#&6.0将会在动态类型、异步编程、函数式编程、DSL和元编程、并行等方面有很多重大的改进
Expression&bodied&&members
2.1&用作为函数体
2.2、用作属性
引用静态类Using&Static (like&java的static&import)&
4、空值判断Null-conditional&operators 
5、5、字符串嵌入值&
6、nameof表达式nameof&s 
7、带索引的对象初始化器
&直接通过索引进行对象的初始化,原来真的可以实现
8、过滤器&(Exception&filters)
7、9、catch和finally&中的&await&——&Await&in&catch&and&finally&blocks
7.2.&1.&$&sign
7.3.&异常过滤器:
异常过滤器已经被编译器支持了,而现在它也被引入了。异常过滤器让你可以为一个块指定一个条件这个块就只会在条件被满足时被执行&这是我最喜欢的特性,那么就让我们来看看示例吧
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&throw&new&Exception(&Me&);
&&&&&&&&&&&&}
&&&&&&&&&&&&catch&(Exception&ex)&if&(ex.Message&==&&You&)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&//&this&one&will&not&execute.
&&&&&&&&&&&&}
&&&&&&&&&&&&catch&(Exception&ex)&if&(ex.Message&==&&Me&)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&//&this&one&will&execute
&&&&&&&&&&&&}
方法扩展,像Lambda那样定义方法
不定个数参数现在支持IEnumerable,不仅仅是数组了
null检查运算符,简化了多个对象内嵌层级判断null的代码
VS2015&C#6.0&中的那些新特性程序员俱乐部
C#&5新特性详解之一——异步编程&软件研发频道&
C#&5新特性详解之二——方法调用和表达式
[译的五项强大新特性&好代码编程网
简短介绍&的新特性&技术翻译&开源中国社区
C#&6.0新特性抢先看论坛中国最大的技术社区
本文已收录于以下专栏:
相关文章推荐
dynamic元类型 C# 4.0将通过新的元类型&dynamic&来添加对后期绑定的支持。任何直接声明为这种类型的变量,或者从函数中返回这种类型的值,都将自动地视为后期绑定。这类似于在Visual ...
.NET Framework 4.5和4.5.1都已经发布,都有什么新的东西?在Windows 桌面程序、Windows 应用商店应用和Windows Phone 8应用中支持如何?一起来看看.NET...
第一:绑定运算符,:=:
这个只是简化了数据绑定,跟ASP.NET MVC3不断改进一样,其实不是什么亮点改进。
comboBox1.Text :=: textBox1.T //将文本框的...
C#.net 3.5新特性介绍从笔者接触编程至今,经历了数种编程语言,从Visual Basic6.0桌面程序开发到ASP(VBScript)的网站开发,从C#1.1到C#2.0,再至今日的令人加心动...
Visual Studio 2008和.NET 3.5是建立在.NET2.0核心的基础之上,C#
3.0新语言特性在.NET2.0基础上进行了改进,这些改进的功能可以大大简化我们编写程序。在此为了...
.net 3.5新特性之用this关键字为类添加扩展方法
paip.jdk1.4 1.5(5.0)  1.6(6.0) 7.0   8.0特点比较与不同
作者Attilax ,  EMAIL: 
来源:attilax...
事物这个概念已经接触过。在旧的ADO.NET事务机制中,我们需要这样做:
SqlConnection conn = new SqlConnection();
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C# 4.0中新功能.doc 28页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:250 &&
你可能关注的文档:
··········
··········
VS 2010 和 .NET 4.0 系列之《 C# 4 中的可缺省参数和具名实参(以及ASP.NET MVC 2中的一个很酷的场景)》篇
By?SAUCER?|?Published:?2010 年 09 月 29 日
【原文地址】?Optional Parameters and Named Arguments in C# 4 (and a cool scenario w/ ASP.NET MVC 2)? 【原文发表日期】 Friday, April 02,
【除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过/scottgu跟随我。】
这是我针对即将发布的VS 2010 和 .NET 4所撰写的?贴子系列的第十七篇。
今天的贴子讨论新加到C# 4.0中的2个语言特性: 可缺省参数(optional parameters)和具名实参(named arguments),以及在ASP.NET MVC 2(VB 和 C#)中一种利用可缺省参数的很酷的方式。
C# 4.0中的可缺省参数
C# 4.0现在对方法,构造器,以及索引器支持使用可缺省的参数(注:VB支持可缺省参数可是有年头了)。
当参数的默认值作为声明的一部分被指定的时候,参数就是可缺省的。例如,下面这个方法接受2个参数,一个“category” 字符串参数,另一个“pageIndex”整数参数。“pageIndex”参数有一个默认值 0,它因此是一个可缺省的参数:
当调用上面的方法时,我们可以显式地传递2个参数给它:
或者我们可以省略掉传递第二个参数,在这样的情形下,其默认值0就会被传进去:
注意,VS 2010的Intellisense在显示语句完成时,会表示哪个参数是可缺省的,以及它的默认值:
C# 4.0中的具名实参和可缺省参数
C# 4.0现在还支持“具名实参”的概念。这允许你把传给一个方法的参数显式地命名,而不是通过实参的位置来识别它。
例如:我可以编写下面这样的代码,通过其名称来识别传给GetProductsByCategory方法的第二个参数(将其用法变得更为明确一点):
当一个方法支持多个可缺省参数,而你想要指定在传递哪个实参时,具名实参会非常有用。例如,下面我们有一个DoSomething方法,其接受2个可缺省参数:
我们可以使用具名实参,以下面任何一种方式来调用上面这个方法:
因为2个参数都是可缺省的,在只有1个(或者0个)参数被指定的情形下,那个没被指定的参数的默认值就会被传进去。
ASP.NET MVC 2 和可缺省参数
有一个非常棒的使用场景,我们可以在其中利用VB 和 C#中可缺省参数支持,那就是ASP.NET MVC 2中控制器类上的Action方法的输入绑定支持。
例如,考虑一个我们想要把“Products/Browse/Beverages” 或 “Products/Browse/Deserts”这样的URL映射到一个控制器action方法的场景。我们可以编写一个URL导向规则,将URL映射到一个方法上,象这样:
然后,我们可以选择使用一个“page”查询字符串值来表示由Browse方法显示的结果是否应该是分页的,如果是分页的,应该显示结果的哪一页。例如,/Products/Browse/Beverages?page=2。
在 ASP.NET MVC 1中,你一般这样处理,在action方法上添加一个“page” 参数,将其设置为?nullable int?(意味着如果“page”查询字符串值不存在的话,其值就是null)。然后你可以编写象下面这样的代码,将?nullable int?转换成一个?int,如果查询字符串中不存在值的话,就赋予一个默认值:
在ASP.NET MVC 2中,你现在可以利用VB 和 C#中的可缺省参数支持,来更简明,更清晰地表达这个行为。只要将action方法的参数声明为带默认值的可缺省参数即可:
如果查询字符串有“page” 值的话(例如 /Products/Browse/Beverages?page=22 ),它就会以一个整数传给该action方法。如果查询字符串没有“page” 值的话 ( 例如 /Products/Browse/Beverages),默认值0就会被传给该action方法。这使得代码更加简明,可读性也提高了。
VS 2010 中的 C# 和 VB 带有一堆很棒的新语言特性。上述2个特性(可缺省参数和具名实参)是其中2个而已,在以后我还会在博客中讨论更多其他的新特性。
如果你在寻找一本总结了C#中所有语言特性(包括C# 4.0中的),以及对核心.NET类库有很好的概述的好书的话,你也许应该查阅一下 O’Reilly出版社新出版的《C#
正在加载中,请稍后...&>&C#语言规范4.0版本 微软官方原版
C#语言规范4.0版本 微软官方原版
上传大小:4.09MB
C#语言规范4.0版本 微软官方原版
C#4.0出了一段时间了,本文档是微软的C#4.0语言规范,中文版的,是整合后的,不是追加的.学习C#最合适了.
综合评分:4.7(3位用户评分)
所需积分/C币:
下载个数:13
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有1条
下了才知道,我的电脑里安装了VS2010,里面就有的
,还是感谢
审核通过送C币
Windows编程
创建者:stamp1973
Quartz.NET官方实例历史版本
创建者:qq_
C#代码实例
创建者:nihang1234
上传者其他资源上传者专辑
迅雷赚钱宝助手2.4.7.6
疯狂Java讲义完整教程源码
Effective C++中文第三版.PDF
Microsoft SQL Server JDBC Driver 3.0
PHP参考手册中文官方原版
开发技术热门标签
VIP会员动态
下载频道用户反馈专区
下载频道积分规则调整V1710.18
开通VIP,海量IT资源任性下载
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
为了良好体验,不建议使用迅雷下载
C#语言规范4.0版本 微软官方原版
会员到期时间:
剩余下载个数:
剩余C币:593
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站600个资源免积分下载
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
全站600个资源免积分下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站600个资源免积分下载
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
C#语言规范4.0版本 微软官方原版C# 如何:确定安装了哪些 .NET Framework 版本
我的图书馆
C# 如何:确定安装了哪些 .NET Framework 版本
如何:确定安装了哪些 .NET Framework 版本.NET Framework (current version)&用户可在他们的计算机上安装和运行 .NET Framework 的多个版本。当你开发或部署应用时,你可能需要知道用户的计算机上安装了哪些 .NET Framework 版本。请注意,.NET Framework 由两个采用不同版本的主要组件构成:一组程序集,它们是为应用提供功能的类型与资源的集合。.NET Framework 和程序集使用相同的版本号。)." xml:space="preserve">CLR 由其自己的版本号标识(请参阅&)。若要获取计算机上安装的 .NET Framework 版本的准确列表,你可以在代码中查看注册表或查询注册表:&&&&&&&&&&&&&&&&&&&&&&&&若要查找 CLR 版本,你可以使用工具或代码:&&&&&&&&&&&&." xml:space="preserve">有关检测安装的每个 .NET Framework 版本的更新的信息,请参阅。." xml:space="preserve">有关安装 .NET Framework 的信息,请参阅。<span id="mt19" class="sentence" data-guid="7ebacfe917e2b" data-source="On the Start menu, choose Run." xml:space="preserve">在“开始”菜单上,选择“运行”。<span id="mt20" class="sentence" data-guid="7e9a08df3dd" data-source="In the Open box, enter regedit.exe." xml:space="preserve">在“打开”框中,输入“regedit.exe”。你必须具有管理凭据才能运行 regedit.exe。在注册表编辑器中,打开以下子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP安装的版本将在 NDP 子项的下方列出。<span id="mt25" class="sentence" data-guid="eccf46a490fc3db4d96c" data-source="The version number is stored in the Version entry." xml:space="preserve">版本号存储在“版本”项中。<span id="mt26" class="sentence" data-guid="c48feb8c33a253d404e8c5ade83a10e2" data-source="For the .NET Framework&4 the Version entry is under the Client or Full subkey (under NDP), or under both subkeys." xml:space="preserve">对于 .NET Framework 4,“版本”项位于客户端或完整子项下(在 NDP 下),或在两个子项下。注意注册表中的“NET Framework Setup”文件夹不会以句点开头。<span id="mt29" class="sentence" data-guid="7ebacfe917e2b" data-source="On the Start menu, choose Run." xml:space="preserve">在“开始”菜单上,选择“运行”。<span id="mt30" class="sentence" data-guid="7e9a08df3dd" data-source="In the Open box, enter regedit.exe." xml:space="preserve">在“打开”框中,输入“regedit.exe”。你必须具有管理凭据才能运行 regedit.exe。在注册表编辑器中,打开以下子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full<span id="mt34" class="sentence" data-guid="99290d2dee7c11df587e" data-source="Note that the path to the Full subkey includes the subkey Net Framework rather than .NET Framework. " xml:space="preserve">请注意,Full&子项的路径包括&Net Framework&子项,而不包括&.NET Framework。注意<span id="mt35" class="sentence" data-guid="1ed7ec69de31f8d7a501" data-source="If the Full subkey is not present, then you do not have the .NET Framework 4.5 or later installed." xml:space="preserve">如果&Full&子项不存在,则表示你尚未安装 .NET Framework 4.5 或更高版本。<span id="mt36" class="sentence" data-guid="bdb25d4b4bb7f9" data-source="Check for a DWORD value named Release." xml:space="preserve">检查名为&Release&的 DWORD 值。<span id="mt37" class="sentence" data-guid="493140fcde720afadac5beb" data-source="The existence of the Release DWORD indicates that the .NET Framework 4.5 or newer has been installed on that computer." xml:space="preserve">存在&Release&DWORD 表明该计算机上已安装 .NET Framework 4.5 或更新版本。<span id="mt38" class="sentence" data-guid="cf15a0ffeb8558dae317caf" data-source="The value of the Release DWORD indicates which version of the .NET Framework is installed." xml:space="preserve">Release&DWORD 的值指示将安装的 .NET Framework 版本。Release DWORD 的值版本378389.NET Framework 4.5378675使用 Windows 8.1 或 Windows Server 2012 R2 安装的 .NET Framework 4.5.1378758安装在 Windows 8、Windows 7 SP1 或 Windows Vista SP2 上的 .NET Framework 4.5.1379893.NET Framework 4.5.2在 Windows 10 系统上:393295在所有其他操作系统版本上:393297.NET Framework 4.6RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\ subkey under HKEY_LOCAL_MACHINE in the Windows registry." xml:space="preserve">使用&&类访问 Windows 注册表中 HKEY_LOCAL_MACHINE 下的 Software\Microsoft\NET Framework Setup\NDP\ 子项。下面的代码显示此查询的示例。注意此代码不演示如何检测 .NET Framework 4.5 或更高版本。<span id="mt55" class="sentence" data-guid="8f92a069ebb563c1cfb8b38b" data-source="Check the Release DWORD to detect those versions, as described in the previous section." xml:space="preserve">检查&Release&DWORD 以检测这些版本,如上一节所述。using S
using Microsoft.Win32;
private static void GetVersionFromRegistry()
// Opens the registry key for the .NET Framework entry.
using (RegistryKey ndpKey =
RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").
OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
// As an alternative, if you know the computers you will query are running .NET Framework 4.5
// or later, you can use:
// using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
// RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
foreach (string versionKeyName in ndpKey.GetSubKeyNames())
if (versionKeyName.StartsWith("v"))
RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
string name = (string)versionKey.GetValue("Version", "");
string sp = versionKey.GetValue("SP", "").ToString();
string install = versionKey.GetValue("Install", "").ToString();
if (install == "") //no install info, must be later.
Console.WriteLine(versionKeyName + "
" + name);
if (sp != "" && install == "1")
Console.WriteLine(versionKeyName + "
" + name + "
SP" + sp);
if (name != "")
foreach (string subKeyName in versionKey.GetSubKeyNames())
RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
name = (string)subKey.GetValue("Version", "");
if (name != "")
sp = subKey.GetValue("SP", "").ToString();
install = subKey.GetValue("Install", "").ToString();
if (install == "") //no install info, must be later.
Console.WriteLine(versionKeyName + "
" + name);
if (sp != "" && install == "1")
Console.WriteLine("
" + subKeyName + "
" + name + "
SP" + sp);
else if (install == "1")
Console.WriteLine("
" + subKeyName + "
" + name);
该示例生成类似下面内容的输出:v2.0.5.
3.5.30729.01
<span id="mt59" class="sentence" data-guid="68d8acfd65c3ba3e35ef184ad91d68ae" data-source="The existence of the Release DWORD indicates that the .NET Framework 4.5 or later has been installed on a computer." xml:space="preserve">Release&DWORD 的存在表明该计算机上已安装 .NET Framework 4.5 或更高版本。关键字的值表示已安装的版本。 and
methods of the RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\v4.0\Full subkey under HKEY_LOCAL_MACHINE in the Windows registry." xml:space="preserve">若要检查此关键字,使用&类的&&和&&方法访问 Windows 注册表中的 HKEY_LOCAL_MACHINE 下的 Software\Microsoft\NET Framework Setup\NDP\v4.0\Full 子项。<span id="mt62" class="sentence" data-guid="5b83ff2c6d0fd734cf2a" data-source="Check the value of the Release keyword to determine the installed version." xml:space="preserve">检查&Release&关键字的值以确定安装的版本。为了向前兼容,你可以检查是否有一个值大于或等于表中所列的值。<span id="mt64" class="sentence" data-guid="5f3aaec6b002f6f141170ed" data-source="Here are the .NET Framework versions and associated Release keywords." xml:space="preserve">此处是 .NET Framework 版本及相关联的&Release&关键字。版本Release DWORD 的值.NET Framework 4.5378389使用 Windows 8.1 安装的 .NET Framework 4.5.1378675安装在 Windows 8、Windows 7 SP1 或 Windows Vista SP2 上的 .NET Framework 4.5.1378758.NET Framework 4.5.2379893随 Windows 10 一起安装的 .NET Framework 4.6393295在所有其他 Windows 操作系统版本上安装的 .NET Framework 4.6393297下面是检查是否有大于或等于每个版本的发行关键字值的值的示例:using S
using Microsoft.Win32;
private static void Get45or451FromRegistry()
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\")) {
int releaseKey = Convert.ToInt32(ndpKey.GetValue("Release"));
if (true) {
Console.WriteLine("Version: " + CheckFor45DotVersion(releaseKey));
// Checking the version using &= will enable forward compatibility,
// however you should always compile your code on newer versions of
// the framework to ensure your app works the same.
private static string CheckFor45DotVersion(int releaseKey)
if (releaseKey &= 393295) {
return "4.6 or later";
if ((releaseKey &= 379893)) {
return "4.5.2 or later";
if ((releaseKey &= 378675)) {
return "4.5.1 or later";
if ((releaseKey &= 378389)) {
return "4.5 or later";
// This line should never execute. A non-null release key should mean
// that 4.5 or later is installed.
return "No 4.5 or later version detected";
该示例生成类似下面内容的输出:Version: 4.5.1 or later
<span id="mt84" class="sentence" data-guid="81dcd9e5d2a9d300bfc6c4" data-source="From a Visual Studio Command Prompt, enter clrver." xml:space="preserve">从 Visual Studio 命令提示符处,输入&clrver。该命令生成类似下面的输出:Versions installed on the machine:
v2.0.50727
v4.0.30319
." xml:space="preserve">有关使用此工具的详细信息,请参阅&。 property to retrieve a
object that identifies the version of the runtime that is currently executing the code." xml:space="preserve">查询&&属性,以检索标识当前正在执行代码的运行时版本的&&对象。 property to get the major release identifier (for example, &4& for version 4.0), the
property to get the minor release identifier (for example, &0& for version 4.0), or the ToString method to get the entire version string (for example, &4.0.&, as shown in the following code)." xml:space="preserve">你可以使用&&属性获取主版本标识符(例如,4.0 版的“4”),使用&&属性获取次版本标识符(例如,4.0 版的“0”),或使用&&方法获取完整版本字符串(例如“4.0.”,如下面的代码中所示)。 property returns a
object whose string representation has the form 4.0.30319.xxxxx." xml:space="preserve">对于 .NET Framework 版本 4、4.5、4.5.1 和 4.5.2,&属性返回字符串表现形式具有窗体&4.0.30319.xxxxx&的&&对象。<span id="mt92" class="sentence" data-guid="60fd7a4779bdc1f3d7b38a" data-source="For the .NET Framework 4.6 Preview, it has the form 4.0.." xml:space="preserve">对于 .NET Framework 4.6,它具有窗体&4.0.。 property for runtime version information:" xml:space="preserve">以下是在&&属性中查询运行时版本信息的示例:using S
using Microsoft.Win32;
private static void GetVersionFromEnvironment()
Console.WriteLine("Version: " + Environment.Version.ToString());
该示例生成类似下面内容的输出:Version: 4.0.
TA的最新馆藏
喜欢该文的人也喜欢

我要回帖

更多关于 creo4.0最新版本 的文章

 

随机推荐