Last active
December 26, 2015 09:29
-
-
Save mapserver2007/7130000 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
namespace Sandbox | |
{ | |
public class ReferenceSample | |
{ | |
public static void Main() | |
{ | |
SampleBean bean = new SampleBean(); | |
bean.name = "test1"; | |
Console.WriteLine(bean.name); | |
ChangeValue(bean); | |
Console.WriteLine(bean.name); | |
ChangeValue2(bean); | |
Console.WriteLine(bean.name); | |
ChangeValue3(ref bean); | |
Console.WriteLine(bean.name); | |
} | |
private static void ChangeValue(SampleBean bean) | |
{ | |
bean.name = "test2"; | |
} | |
private static void ChangeValue2(SampleBean bean) | |
{ | |
// refを付けない場合はJava同様参照の値渡し。 | |
bean = new SampleBean(); | |
} | |
private static void ChangeValue3(ref SampleBean bean) | |
{ | |
// C#は参照渡しが可能なので、beanを書き換えると呼び出し元に影響がある。 | |
bean = new SampleBean(); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package sandbox; | |
public class ReferenceSample { | |
public static void main(String[] args) { | |
SampleBean bean = new SampleBean(); | |
bean.setName("test1"); | |
changeValue(bean); | |
System.out.println(bean.getName()); | |
changeValue2(bean); | |
System.out.println(bean.getName()); | |
} | |
private static void changeValue(SampleBean bean) { | |
// beanは値だが、beanのメンバは参照。 | |
// Javaは参照の値渡し。なので、beanのメンバを書き換えたら呼び出し元にも反映される。 | |
bean.setName("test2"); | |
} | |
private static void changeValue2(SampleBean bean) { | |
// bean自体は「値」なので、bean自体を書き換えても呼び出し元に変化がない。 | |
bean = new SampleBean(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment