当我们想要修改一个对象中的某个值时,我们可能会使用两种不同的方法,只是想知道哪一个更好或者它们之间没有大的差别.
void SomeMethod()
{
UserInfo newUser = New UserInfo();
ModifyUserInfo(newUser);
//Modify UserInfo after calling void method GetUserInfo
}
void ModifyUserInfo(UseerInfo userInfo)
{
userInfo.UserName = "User Name";
.....
}
Run Code Online (Sandbox Code Playgroud)
void SomeMethod()
{
UserInfo newUser = New UserInfo();
//Assign new userinfo explicitly
newUser = GetUserInfo(newUser);
}
UserInfo ModifyUserInfo(UseerInfo userInfo)
{
userInfo.UserName = "User Name";
.....
return userInfo;
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢第三种:
void SomeMethod()
{
UserInfo newUser = GetUserInfo();
}
UserInfo GetUserInfo()
{
UserInfo userInfo = New UserInfo();
userInfo.UserName = "User Name";
.....
return userInfo;
}
Run Code Online (Sandbox Code Playgroud)
基本上这可以GetUserInfo处理构建的所有细节UserInfo,并且您的调用代码不必担心除了它返回的对象之外的任何细节.