次のコードでは、 getStringAgain(classOne.str1) が getAstring(classOne) よりも優れていることを理解しています。これは、データの隠蔽/カプセル化などのために必要なものだけを渡したいためです。
ただし、メモリの利点はありますか?明らかに、classOne オブジェクトは単なる文字列よりも大きくなりますが、どちらのメソッドでも、オブジェクトへの参照のみを渡しているため、参照のみがスタックにコピーされるため、どちらもメモリの点で効率的ですか?
Class ClassOne()
{
public string str1 = "string1";
public string str2 = "string2";
}
Class ClassTwo()
{
public ClassTwo()
{
ClassOne classOne = new ClassOne();
string a = getAstring(classOne);
string b = getStringAgain(classOne.str1)
}
private string getAstring(ClassOne classOne)
{
return classOne.str1;
}
private string getStringAgain(string str)
{
return str;
}
}