将VB代码转换为C#

时间:2013-10-06 11:30:16

标签: c# vb.net code-translation

我是C#的新手,我想让我以前的VB程序也在C#中运行。我对VB的byRef有点问题,我无法将其转换为C#。

所以这是我在VB中的代码:

Sub LepesEllenorzes(ByRef Gomb1 As Button, ByRef Gomb2 As Button)
    If Gomb2.Text = " " Then 'if a button is empty
        Gomb2.Text = Gomb1.Text 'change the numbers on them
        Gomb1.Text = " "
    End If
End Sub

这是我在C#中的代码,但无法正常工作:

public Lépés(ref Button but1, ref Button but2)
{
       if (but2.Text == "")
       {
                but2.Text = but1.Text;
                but1.Text = "";
       }                
}

代码来自一个数字随机游戏,如果两个邻居按钮中的一个为空,则进行检查,因此带有数字的按钮将使用空按钮改变位置。

对不起我的英语,我希望你能理解我的问题。

2 个答案:

答案 0 :(得分:1)

除非这是一个构造函数(我非常怀疑),否则你需要一个返回类型。如果没有返回任何内容,void有效:

public void Lépés(ref Button but1, ref Button but2)
{
        if (but2.Text == "")
        {
            but2.Text = but1.Text;
            but1.Text = "";
        }                
}

其次,您不需要ref

public void Lépés(Button but1, Button but2)
{
        if (but2.Text == "")
        {
            but2.Text = but1.Text;
            but1.Text = "";
        }                
}

默认情况下,这些是引用类型,除非您有非常具体的理由使用它们,否则不应默认使用ref参数。

答案 1 :(得分:0)

VB正在使用空格而C#是一个空字符串。是吗?