新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

VS2019,C#で遊んでました。独習C#P243課題4、インスタンスのswap

2020-03-04 21:24:46 | C#、VBなど

答えは少し違っていますが、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を作りました。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« VS2019で遊んでました。独習C... | トップ | VS2019のC#で遊んでました。... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

C#、VBなど」カテゴリの最新記事