将 VB 代码转换为 C#

本文关键字:转换 代码 VB | 更新日期: 2023-09-27 18:34:18

我是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 = "";
       }                
}

代码来自一个数字洗牌游戏,检查什么,如果两个相邻按钮中的一个是空的,那么上面有一个数字的按钮会随着空按钮改变位置。

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

将 VB 代码转换为 C#

除非这是一个构造函数(我非常怀疑(,否则你需要一个返回类型。 如果未返回任何内容,则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参数。

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