Instant C#是一款能够轻松把vb.net转为c#的软件。如果你需要把VB源文件夹转换为c#Instant C#是一个非常不错的辅助工具。该软件可以支持用户将VB项目或VB源文件夹转换为c#,并且它允许编译代码格式选项,换行选项,自定义字符串替换,项目转换选项,文件编码选项,项目转换组,假设片段参考,假设已完全设置参数(例如代码段的名称空间“ Imports”语句)以获得最佳输出。它具有极其简单的操作步骤。用户只需要选择VB项目,设置c#文件夹并设置转换参数即可。 ,您可以一键执行转换,并且活动版本在这里为您共享,用户可以免费使用,需要它的用户请立即下载!
使用说明:
1.运行Instant C#VB并进入以下界面。
2.在VB项目或solu列中选择要转换的VB项目。
3.用户还可以单击VB源文件夹列右侧的[浏览]按钮以选择VB源文件夹。
4.在C#目标文件夹中选择C#目标文件夹。
5.单击[选项]设置参数,例如代码格式选项,换行选项,自定义字符串替换和项目转换选项。
7.最后,单击[convert]按钮执行转换操作。
软件特色:
一个可靠的代码转换工具,可以处理整个VB.NET项目或代码片段,使您可以将它们转换为C#项目或代码。
Instant C#将整个VB.NET项目或代码片段转换为优雅的C#。
无论您将开发转换为C#还是在VB.NET和C#中工作,Instant C#都可以节省您数小时的辛苦工作。
即时C#VB.NET到C#转换器转换所有VB.NET语法,包括VB.NET的最晦涩和古怪的方面:委托和事件处理程序,转换宏,命名参数,可选参数,静态局部变量,多行语句和数组调整大小。
除了准确率超过99%之外,Instant C#每分钟转换22,000多个行(在2GHz机器上测试)。
在安全性方面,Instant C#不允许代码离开您的系统,也不允许泄漏或其他缺陷,以便为您的工作创建最安全的环境。
此外,还有一个智能通知系统,操作员可以通过提供有用的注释,警告和指导注释来找到自己的方式。
总而言之,Instant C#Free Edition是一个方便的工具,可用于将VB> NET语法立即转换为C#,并且具有更高的准确性和最有用的材料。对于C#的新用户来说,此工具被证明是一种很好的学习方法。
软件功能:
节省宝贵的时间
准确而全面
安全-您的代码将永远不会离开您的计算机
响应客户支持
大量的转换和格式化选项
易于使用
每分钟转换成数万条线
使用说明:
自定义字符串替换
Instant C#允许您在转换后的C#代码中指定自己的自定义替换。这对于基于样式首选项(在C#和VB中可能有所不同)自定义代码非常有用。在没有.NET等效项的Visual Basic命名空间方法将被您自己的自定义方法替换,以从转换后的代码中调用的情况下,此方法也很有用。
对于每个替换字符串,您可以指定正则表达式选项,何时执行替换(转换之前或之后),是否区分大小写,是否仅匹配整个单词以及是否应修改注释或字符串文字。如果选择了正则表达式选项,则不会应用整个单词和字符串文字选项。
要跨越多行,请直接粘贴到“查找文本”和“替换文本”文本框中,或使用转义符:\ r \ n \ t。
如果要暂时跳过替换,则可以取消选中“活动”复选框。
替换按照在“选项”对话框中显示的顺序执行。例如,在执行了第一次替换之后,第二行代码将被替换。要更改更换顺序,请使用“上”和“下”按钮。
对于正则表达式选项的示例,可以使用“ Bar(x)”替换“ Foo(x)”,其中“ x”是通过指定“ Foo(([[sa-zA-Z _ $] *)为任意参数” )中的“ and”替换“ Bar $ 1”字段。请注意,各种正则表达式引擎有所不同-转换器使用的正则表达式引擎为.NET System.Text.RegularExpressions.Regex。
诊断选项
如果转换时间超出预期,则这些选项旨在为有形软件解决方案提供信息。 “按文件记录处理”指示转换器记录处理后的文件和文件。
每个过程花费的时间。 “记录转换取消之前解析的最后100行代码”指示转换器记录转换取消之前解析的最新行。
文件编码选项
转换器从字节顺序标记(BOM)中检测输入文件编码,但是如果缺少BOM,则转换器默认认为文件编码为UTF-8。您可以使用此选项指定没有BOM时要使用的其他默认编码。输出编码与为原始文件检测到的编码相同。如果BOM表未检测到原始编码,则使用默认编码选项。对于UTF-8,您可以选择是否包括输出BOM,这通常在Windows环境中使用。
项目转换团队
如需要定期同时转换多个项目,请使用转换组功能。这是最常用的将示例项目集转换为C#的方法。
要配置转换组,请转到主菜单或在工具栏上-选项->项目转换组。
要转换转换组,请转到主菜单上的转换->转换组。
假设片段的汇编参考
代码段转换器假定在解释原始代码时使用了某些程序集。这些不能更改,但是您可以指定在解释原始代码时片段转换器要使用的其他程序集。
假设代码段的名称空间为“ import”语句
片段转换器假定在解释原始代码时(通过“导入”指令)导入了某些名称空间。您可以取消选择它们中的任何一个,以便转换器停止进行此假设。
当您要解释原始代码时,还可以指定片段转换器可用的其他命名空间。
目转换选项
绕过程序集解析对话框:默认情况下,Instant C#将提示您输入找不到的程序集dll的位置-这有助于确定对这些程序集的某些引用的最佳转换。此外,如果无法解析程序集中的类型或成员,Instant C#将显示一个消息框。如果不想看到这些对话框,请选择此选项。
包含对Microsoft.VisualBasic程序集的引用:默认情况下,Instant C#包含对转换后的C#项目中的Microsoft.VisualBasic程序集的引用,以处理没有其他.NET等效项的项目。如果您不想引用此程序集,请取消选中此选项。
包含MyComputer.cs帮助文件:默认情况下,Instant C#包含一个名为MyComputer.cs的帮助文件,该文件用于处理对My.Computer的某些调用。如果您永远不想包括此帮助程序类,请取消选中此选项。
在与VB项目级别“导入”相对应的每个文件中包含“ using”语句:默认情况下,Instant C#在项目文件中指定的VB导入中包括一个using语句。
转换后的C#项的警告级别:C#项的警告级别在0到4之间。即时C#将转换后的项的警告级别设置为该值。
重命名转换后的链接文件夹的后缀:如果项目包含“链接”文件,则转换后的链接文件的文件夹将被复制到相同的相对位置,并通过添加后缀来重命名。为了避免修改原始链接文件夹的内容,后缀是必需的(当源和目标项目文件夹位于相同的文件夹深度时可以这样做)。
增强选项
这些选项与可纠正或简化原始代码中的问题的更改相关,但从转换或格式化的角度来看,这些选项不是必需的。从Visual Basic的较早版本迁移的代码中,大多数这些问题更有可能发生。
转换VB和/或C#&& / ||当操作数为布尔值时:尽管AndAlso和OrElse操作始终转换为C#&&和||运算符,与VB的“和”或“或”运算符严格等效的是C#按位&和|运算符,它们也被重载以充当非短路逻辑运算符。但是,当确认操作数为布尔值时,Instant C#将其转换为短路&&和||。操作员。没有转换为短路运算符的一种情况是表达式的右侧是函数调用-这样做是为了保留函数调用的副作用。如果要始终将VB中的非短路运算符转换为C#中的非短路运算符,请取消选中此首选项。
如果它紧跟在声明之后,则将初始化移到变量声明:默认情况下,如果初始化在声明之后的行上,Instant C#将把变量初始化添加到变量声明中。
检测未使用的局部变量:如果选择此选项,Instant C#将注释或删除未引用的局部变量
稍后在局部方法的范围内介绍。但是,如果将变量初始化为可能具有副作用(例如,方法调用或类型实例化)的表达式,则将保留该变量。
更改本地对象变量的类型以匹配初始值设定项的类型:如果选择此选项,则Instant C#会将对象变量的类型更改为初始值设定项的类型,即使使用初始化程序声明了变量。
检测不必要的局部变量分配Nothing:如果选择此选项,Instant C#将注释或删除不必要的局部变量分配Nothing。这通常在方法结束时发生,并且是VB6中的常见做法。 VB.NET和C#都不需要这样做。
Microsoft.VisualBasic命名空间选项
默认情况下,Instant C#通过调用内部.NET方法来转换许多Microsoft.VisualBasic命名空间成员。这包括许多字符串和日期函数,在.NET Framework中几乎具有一对一的等效项。没有一对一等效项的其他成员将保留给Microsoft.VisualBasic命名空间调用(它仍将在C#中运行)。由于.NET字符串和日期等效项可能不准确(尤其是在处理null值时),因此您可以选择不转换其中的某些调用,并在转换后的代码中使用Microsoft.VisualBasic命名空间。
将VisualBasic.Strings方法转换为等效的.NET System.String成员:将某些VisualBasic.Strings方法转换为非常接近的.NET等效项(包括AscW,ChrW,Format,GetChar,InStr,InStrRev,Join,LCase,Left,Len,LTrim, Mid,Replace,Right,RTrim,Space,Split,StrComp,StrDup,Trim和UCase),但是您可以选择将原始VB名称空间调用保留在转换后的输出中。
将VisualBasic.DateAndTime成员转换为等效的.NET System.DateTime成员:将某些VisualBasic.DateAndTime成员转换为非常接近的.NET等效项(包括DateAdd,DatePart,DatePart,DateValue,Day,Hour,Minute,Month,Now,Snow,Second,Today和Year),但您可以选择在转换后的输出中保留原始的VB名称空间调用。
使用辅助方法转换VB IsNumeric:使用Instant C#插入的辅助方法转换VB IsNumeric函数,但是您可以选择将原始的VB名称空间调用保留在转换后的输出中。
使用辅助方法转换VB IsDate:使用Instant C#插入的辅助方法转换VB IsDate函数,但是您可以选择将原始VB名称空间调用保留在转换后的输出中。
使用辅助方法转换VB Val:使用Instant C#插入的辅助方法转换VB Val函数,但是您可以选择将原始VB名称空间调用保留在转换后的输出中。
使用辅助方法转换VB DateDiff:使用Instant C#插入的辅助方法转换VB DateDiff函数,但是您可以选择将原始VB名称空间调用保留在转换后的输出中。
Constants.vbCrLf和ControlChars.CrLf转换:您可以选择转换VB常量Constants.vbCrLf和Co
ntrolChars.CrLf转换为System.Environment.NewLine或“ \ r \ n”。 (许多其他VB常量转换为自然的C#等效项)。
增减
添加到所有已转换文件的顶部:如果为该选项添加文本,则文本将被添加到每个已转换文件的顶部。此选项不适用于代码段转换。
省略这些预处理器标记的代码区:Instant C#将从转换输出中删除代码区。这些代码区位于预处理器块中,并且所有这些令牌都将有条件地转发(例如,#If OMIT Then)。
复制这些预处理器标记的未转换代码:Instant C#将使预处理器块中的未转换代码区域对这些标记中的任何一个都具有肯定的条件(例如,#If COPY Then)。 #If节之后的任何#ElseIf或#Else块将从转换后的输出中删除。
转换以下xml标记中的注释中包含的代码:如果要转换注释中的代码,请输入一个标记以将该代码标识为Instant C#。例如,如果输入标签“ code”,则注释中...块中的文本将由Instant C#转换。
其他选择
将VB类型“导入”转换为“使用静态”:默认情况下,Instant C#使用静态(C#2015或更高版本)将VB类型导入转换为C#。如果未选择此选项,则转换器将忽略Imports语句,并在适当的位置插入类型名称。
将Vb“何时”捕获过滤器转换为C#异常过滤器:默认情况下,即时C#将VB作为捕获过滤器转换为C#异常过滤器(C#2015或更高版本)。如果未选择此选项,转换器将注释掉原始捕获过滤器。
使用C#只读自动属性和自动属性分配:默认情况下,Instant C#将VB只读自动属性转换为C#只读自动属性(C#2015或更高版本)。如果不选择此选项,转换器将转换为带有专用支持字段的常规属性。
禁止大小写调整:尽管VB不区分大小写,但新版本的Visual Studio可以自动调整成员名称的大小写。如果您不想使用Instant C#进行大写启发式检查,请选中此首选项。
尽可能使用后缀运算符:您可以选择将单位递增/递减语句(例如i = i + 1或i + = 1)转换为非常简洁的C#后缀形式i ++。
插入一个临时变量,该变量对于'For'循环的结束条件不是常数:VB仅计算一次For循环的结束条件,而C#在每次迭代时都对其进行计算。如果Instant C#确定结束条件可能会更改,它将在初始结束条件中设置一个临时变量,并在C#for循环中使用该临时变量。
始终转换为显式接口实现:C#具有两种实现接口方法的样式:隐式(方法由名称和参数匹配)或显式(方法名称由接口名称限定)。 Instant C#默认情况下将隐式方法用于公共方法,因为它可以更好地保持原始VB意图(对于非公共方法,显式接口实现始终用于再现相同的行为)。
禁止插入类型转换或转换:默认情况下,Instant C#将插入类型转换或转换以复制VB隐式转换的行为。如果要避免转换器插入任何类型转换或转换,请选择此选项。
将带有转义字符的字符串转换为逐字字符串:默认情况下,Instant C#将转义字符用于包含双引号或反斜杠字符的字符串,但是此选项将这些字符更改为逐字Word字符串。 (VB 2015多行字符串始终转换为C#逐字字符串)。
如果未找到“ Option Strict”语句,则假定对片段使用“ Option Strict On”:默认情况下,如果未找到“ Option Strict”语句,转换器将假定代码段为“ Option Strict Off”转换。
如果未找到“选项推论”语句,则假定“选项推论”是一个片段:默认情况下,如果未找到“选项推论”语句,转换器将假定“选项推论”用于片段转换。
可为空的类型语法:若要指定可为空的类型,是否可以使用较短的语法?可空标记或更长的语法(用于明确指示类型),例如Nullable。默认情况下,Instant C#将转换为较短的语法。
使用VB字符串比较的严格转换:默认情况下,Instant C#将字符串比较转换为语法上非常相似的C#比较('='到'==','<>'到'!=')。但是,如果要复制VB字符串比较的确切行为(将空字符串解释为空字符串),请选择此选项。
使用VB字符串函数调用的严格转换:默认情况下,Inst
ant C#将VB字符串函数调用转换为最自然的C#等效项(例如,将Left(x,y)转换为x.Substring(0,y))。但是,如果要复制VB字符串函数的确切行为(将空字符串解释为空字符串并接受可能不在字符串范围内的函数调用参数),请选择此选项。这将导致Helper方法用于Left,Right,Mid和Replace,并且null合并将用于许多其他调用。
将“ Handles”转换为严格的C#等效项:在VB中,该方法的Handles子句使该方法自动连接到Handles子句的WithEvents字段中的事件。如果WithEvents字段在InitializeComponent方法中初始化,或者该事件属于当前类,则默认情况下,Instant C#将它们转换为简单事件连接。对于其他情况,Instant C#在设置WithEvents变量时将相关的WithEvents字段转换为执行事件连接的属性。您可以选择将严格的WithEvents转换应用于InitializeComponent方法中初始化的字段,但这意味着该事件将不会显示在设计器视图中。您还可以选择包括设计器文件WithEvents字段-这些字段默认情况下不包括在内,因为许多设计器工具无法处理对设计器文件所做的更改,或者可能会丢失更改。如果未选择严格转换选项,则不在构造函数中设置所有不在InitializeComponent中的事件连接。