goo blog サービス終了のお知らせ 

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

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

C#で遊んでました。暫くぶりに。Swapについて

2017-03-11 10:08:10 | パソコン

 

// 2つの値を交換する

using System;

class SwapDemo {
  // このメソッドは呼び出し元の実引数を変更する
  public void Swap(ref int a, ref int b) {
    int t;

    t = a;
    a = b;
    b = t;
  }
}

class SwapIt {
  static void Main() {
    SwapDemo ob = new SwapDemo();

    int x = 10, y = 20;

    Console.WriteLine("x and y before call: " + x + " " + y);

    ob.Swap(ref x, ref y);

    Console.WriteLine("x and y after call: " + x + " " + y);
  }
}

上の文字のソースは「独習C#」からのコピーです。SwapDemoはメンバー変数がありません。

メソッドのみです。

スクリーンショットはクラスに2つのintを持たせて、メソッドにはSwapとPrintを入れてます。

本ではcall by valueとcall by refの違いの説明でしたが、スクリーンショットの様にすれば

関係ないようにも思いますが。(-_-;)

オブジェクトなので参照で渡されてるんでしょうかね?


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。