将 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 = "";
}
}
代码来自一个数字洗牌游戏,检查什么,如果两个相邻按钮中的一个是空的,那么上面有一个数字的按钮会随着空按钮改变位置。
对不起我的英语,我希望你能理解我的问题。
除非这是一个构造函数(我非常怀疑(,否则你需要一个返回类型。 如果未返回任何内容,则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# 是一个空字符串。 是这样吗?