从VB到C#。一些具体的

时间:2016-05-24 11:43:33

标签: c# .net vb.net translate

我没有使用VB的经验,但我需要将脚本从Visual Basic转换为C#。我有一些问题

  1. 每个方法都以一些ByVal之类的东西开始,比如

    ByVal sender As Object, ByVal e As System.EventArgs

  2. 我找不到用C#编写的方法。

    1. Dim声明。我只是无法理解这一点以及我必须将其转换为C#的方式。 示例:

      Dim drRcp As SqlClient.SqlDataReader

      Dim Apt_Id As String = clsShared.ReadSetting("LAST_RECORD")

    2. 是否有任何程序,网站或某些内容可以在语言之间转换代码?

4 个答案:

答案 0 :(得分:2)

这是非常基本的东西,你应该能够在网上阅读。但是这里有:

  1. 在C#中,您不能使用ByVal。这个例子在C#中是这样的:

    (对象发件人,System.EventArgs e)

  2. 声明语法也不同,如下所示:

    SqlClient.SqlDatareader drRcp;

    string Apt_Id = clsShared.ReadSetting(" LAST_RECORD");

  3. 是的,正如Abdellah OUMGHAR上面提到的,converter.telerik.com应该为你做。

答案 1 :(得分:1)

您可以简单地使用Telerik代码转换器,有时需要进行手动更正。

除了转换VB代码不是很难,只要编码器使用.Net类与旧的VB库和命令。

例如,dim用于定义var(并且您可以在适当的地方使用" var"关键字)。

Dim drRcp As SqlClient.SqlDataReader 
Dim Apt_Id As String = clsShared.ReadSetting("LAST_RECORD")

翻译为:

SqlClient.SqlDataReader drRcp;  
string Apt_Id = clsShared.ReadSetting("LAST_RECORD");

答案 2 :(得分:0)

  1. ByVal指定传递参数By Value,这是VB.net和C#中的默认值,并且不需要包含。
  2. VB.net变量声明为Dim varName As Type,C#为Type varName。两者都可以根据定义确定类型本身,但应尽可能避免;可读性/可维护性实践; C#中的Dim varName = "string value"var varName = "string"
  3. 请参阅有关问题的评论。

答案 3 :(得分:0)

VB的ByVal表示默认的passby值。         传递值:函数add(int a,int b) - a和b都是Pass By Value - 而函数add(ref int a,ref int b)是通过引用传递的 1. so(ByVal sender As Object,ByVal e As System.EventArgs)=(Object sender,EventArgs e)

  1. Dim drRcp As SqlClient.SqlDataReader Dim Apt_Id As String = clsShared.ReadSetting(“LAST_RECORD”)== SqlClient.SqlDataReader drRcp = new SqlClient.SqlDataReader()
    string Apt_id = clsShared.ReadSetting(“LAST_RECORD”)

  2. 转到Google,然后输入将Vb.net转换为c#。您将获得在线转换的分数。