ホームページ >バックエンド開発 >C#.Net チュートリアル >C# での交換
C Sharp プログラミング言語として発音される C# についてはすでによく知られているので、C# でのスワッピングについては直接理解できます。スワッピングという言葉は、英語の辞書に載っている言葉と同じ意味を与えます。それはすべて価値観の交換に関するものです。 C# を使用してこの手法を実行する方法を見てみましょう。
2 つの異なる変数間の値の交換では、2 つの方法で行うことができます。 1 つ目は一時変数としても知られる 3 番目の変数を使用する方法で、2 つ目は他の変数を使用しない方法です。
3 番目の変数を使用してどのように実行できるかを以下で確認してみましょう。
コード:
using System; class First { static void Main() { int a=75,b=84,t; t=a; a=b; b=t; Console.WriteLine("Values after swapping:"); Console.WriteLine("a is :"+a); Console.WriteLine("b is :"+b); } }
上記の単純なプログラムでは、2 つの整数値を取得し、3rd 一時変数を使用してそれらの値を交換しました。
出力:
コード:
using System; class First { static void Main() { string a,b; int temp,c,d; Console.Write("Enter value for a :"); a = Console.ReadLine(); c = Convert.ToInt32(a); Console.WriteLine("A's value is {0}", c); Console.Write("Enter value for b : "); b = Console.ReadLine(); d = Convert.ToInt32(b); Console.WriteLine("B's value is {0}", d); temp=c; c=d; d=temp; Console.WriteLine("Values after swapping are:"); Console.WriteLine("a is : "+c); Console.WriteLine("b is : "+d); } }
ここでは、ReadLine メソッドを使用してユーザー入力値を読み取りました。そして、その値を整数に変換しました。そうでない場合は、ASCII 値として読み取られます。
出力:
ToInt32 関数を削除して、プログラムがどのように動作するかを確認してみてください。
コード:
using System; class First { static void Main() { int a=85,b=58; a=a+b; b=a-b; a=a-b; Console.WriteLine("Values after swapping :"); Console.WriteLine("a is "+a); Console.WriteLine("b is "+b); } }
出力:
上記と同様に、練習として、ユーザーが入力した値を使用して 3 番目の変数を使用せずに 2 つの変数を交換してみてはいかがでしょうか?
コード:
using System; class First { static void Main() { int a=4,b=5,c=6; //swapping a=a+b+c; Console.WriteLine("After First step A value is "+a); b=a-(b+c); Console.WriteLine("After Second step B value is "+b); c=a-(b+c); Console.WriteLine("After Third step C value is "+c); a=a-(b+c); Console.WriteLine("After Fourth step A value is "+a); Console.WriteLine("Values after swapping are:"); Console.WriteLine("a is "+a); Console.WriteLine("b is "+b); Console.WriteLine("c is "+c); } }
3 番目の変数を使用せずに数値を交換する方法についてはすでに理解しているので、3 つの数値の交換にも同じ方法を使用しました。明らかに、処理される実際の数学的計算をより簡単に理解できるように、各ステップの後にコンソール出力ステートメントを保持し、変数に小さな値を取得しました。
出力:
コード:
using System; clas1s First { static void Main() { string a,b,c; int x,y,z; Console.Write("Enter value for x :"); a = Console.ReadLine(); x = Convert.ToInt32(a); Console.WriteLine("X's value is {0}", x); Console.Write("Enter value for y : "); b = Console.ReadLine(); y = Convert.ToInt32(b); Console.WriteLine("Y's value is {0}", y); Console.Write("Enter value for z : "); c = Console.ReadLine(); z = Convert.ToInt32(c); Console.WriteLine("Z's value is {0}", z); x=x+y+z; Console.WriteLine("After Fourth step X value is "+x); y=x-(y+z); Console.WriteLine("After Second step Y value is "+y); z=x-(y+z); Console.WriteLine("After Third step Z value is "+z); x=x-(y+z); Console.WriteLine("After Fourth step X value is "+x); Console.WriteLine("Values after swapping are:"); Console.WriteLine("X is : "+x); Console.WriteLine("Y is : "+y); Console.WriteLine("Z is : "+z); } }
ここで観察できることの 1 つは、ロジックは常に同じであるということです。スワップ用にハードコードされた値ではなく、動的な値を取得しているだけです。
出力:
あなたが確認したように、スワップのプロセスは次のように行われます:
完璧ですよね?それでは、値を割り当てる他の方法を試してみることはできますか?もちろん、はい。
コード:
width="638">using System; class First { static void Main() { string a,b,c; int x,y,z; Console.Write("Enter value for x :"); a = Console.ReadLine(); x = Convert.ToInt32(a); Console.WriteLine("X's value is {0}", x); Console.Write("Enter value for y : "); b = Console.ReadLine(); y = Convert.ToInt32(b); Console.WriteLine("Y's value is {0}", y); Console.Write("Enter value for z : "); c = Console.ReadLine(); z = Convert.ToInt32(c); Console.WriteLine("Z's value is {0}", z); x=x+y+z; Console.WriteLine("After Fourth step X value is "+x); z=x-(y+z); Console.WriteLine("After Second step Z value is "+z); y=x-(y+z); Console.WriteLine("After Third step Y value is "+y); x=x-(y+z); Console.WriteLine("After Fourth step X value is "+x); Console.WriteLine("Values after swapping are:"); Console.WriteLine("X is : "+x); Console.WriteLine("Y is : "+y); Console.WriteLine("Z is : "+z); } }
上記のプログラムの唯一の違いは、強調表示されている部分です。
出力:
上記のように、スワッピングの出力は次のように変更されました:
他の異なる方法で 3 つの数字を交換してみることができます。そこで、練習として、4 番目の一時変数を使用して 3 つの変数を交換してみてはいかがでしょうか?
ここでは、C# プログラミング言語を使用して、2 つの変数と 3 つの変数の両方に対してさまざまなスワッピング手法を作成することに成功しました。 C# を楽しく学びましょう。
以上がC# での交換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。