参考值参数VS返回值哪一个好?

Cod*_*Yun 4 c#

当我们想要修改一个对象中的某个值时,我们可能会使用两种不同的方法,只是想知道哪一个更好或者它们之间没有大的差别.

    1.
  

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)
    2.
  
    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)

Jus*_*ier 5

我更喜欢第三种:

   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,并且您的调用代码不必担心除了它返回的对象之外的任何细节.