答えは少し違っていますが、swapをメソッドで定義するとこうでしょう。
using System;
namespace Chapter01All
{
public class CSharp3Kadai6_4
{
int a;
public CSharp3Kadai6_4(int i) { a = i; }
public void swap(CSharp3Kadai6_4 aa)
{
int av = aa.a;
aa.a = this.a;
this.a = av;
}
public void show_value()
{
Console.WriteLine(a);
}
public static void Main()
{
CSharp3Kadai6_4 av = new CSharp3Kadai6_4(100);
CSharp3Kadai6_4 bv = new CSharp3Kadai6_4(200);
av.show_value();
bv.show_value();
av.swap(bv);
av.show_value();
bv.show_value();
}
}
}
C#ではプログラムの名前と思いきや、クラス名まで影響します。((+_+))
using System;
namespace Chapter01All
{
class CSharp3Kadai6_4
{
public int a;
public CSharp3Kadai6_4(int i) { a = i; }
public void swap(CSharp3Kadai6_4 aa)
{
int av = aa.a;
aa.a = this.a;
this.a = av;
}
public void show_value()
{
Console.WriteLine(a);
}
public static void Main()
{
CSharp3Kadai6_4 av = new CSharp3Kadai6_4(100);
CSharp3Kadai6_4 bv = new CSharp3Kadai6_4(200);
av.show_value();
bv.show_value();
// av.swap(bv);
// av.show_value();
// bv.show_value();
T at = new T();
at.Swap(av, bv);
av.show_value();
bv.show_value();
}
}
class T
{
public void Swap(CSharp3Kadai6_4 ob1, CSharp3Kadai6_4 ob2)
{
int t;
t = ob1.a;
ob1.a = ob2.a;
ob2.a = t;
}
}
}
独習C#第3版の答えは上の様でした。Swapはクラスに属さないとエラーになりますので、class Tを作りました。