我一直在为我的程序创建方法,我现在正在重构一些代码,我发现我正在改变我最初制作的所有方法:
public static string updateTextBox(string textbox){.... return "";}
到
public static void updateTextBox(TextBox textbox){...textbox.Text = "";}
我这样做有以下几个优点: 1.)第一种方法我只能返回一个字符串,我发现有时我需要添加更多输出(例如,如果IF语句失败,则更改Foreground的颜色),第二种方法我只需添加第二个参数。
public static void updateTextbox(TextBox textbox1, TextBox textbox 2){...}
2。)我可以使用第二种方法轻松退出代码
return;
使用第一种方法我发现的唯一方法是,这会导致错误
return null;
3.)调用这些方法时看起来更清晰
textbox.Text = MethodClass.updateTextbox(TextBox textbox)
MethodClass.updateTextbox(TextBox textbox)
我仍然是编程的菜鸟,重构我的方法以使类型无效有什么问题吗?
答案 0 :(得分:1)
这一切都取决于您的要求,是否要返回值表单方法。因此,如果要更新类成员,则无需从要在文本框中设置的方法返回值。并且没有必要在方法中传递类成员,这些已经在方法中可访问。
如果它是引用类型变量而不是类成员,则可以作为参数传递并在方法本身内部进行修改。如果你有值类型,那么你可以传递ref或out参数。
所以我再说一遍,这完全取决于你的要求。
您可以在方法中使用返回值作为逻辑用途。就像你有方法检查一个数字是否是回文,所以你只会返回true或false,所以在这种情况下返回类型是有用的。你可以有很多你想要返回的场景,以及你不希望从方法返回值的地方。
如果你有像DoSomething
这样的方法,它只是一个简单的方法(如int num = 1*2;
),你不关心它的返回值,那么你可以使用void类型。