私は別のデータを一つのオブジェクトを更新したい、そうのようなもの:このメソッドにはrefキーワードが必要ですか?
User updatingUser = Users.Get(someId);
updatingUser.Name = otherUser.Name;
updatingUser.Age = otherUser.Age;
は今、私はパラメータリストで参照が必要なのか、このアップデートを実行するためのメソッドを作成したいですか?
public static void UpdateUserFromUser(User original, User other)
{
original.Name = other.Name;
original.Age = other.Age;
..
..
}
は今すぐに渡された「元」ユーザが設定されているオブジェクトのプロパティを持っており、それは更新されませんので、このユーザオブジェクトは、いくつかのプロパティが更新されます。
私は次のように、正しい参照が必要になります。
public static void UpdateUserFromUser(ref User original, User other)
OR「オリジナル」オブジェクトが参照を必要とせずに更新されますか?
微妙な違いは何ですか? – Blankman
@Blankman:参照型の 'ref'では、変数が指すメモリ内のオブジェクトを変更することができます。これは簡単に説明しています:http://stackoverflow.com/questions/961717/c-what-is-the-use-of-ref-for-reference-type-variables – BoltClock