C#でカスタムメソッドを定義して呼び出す方法【サンプルコード付き】
C#でカスタムメソッド(独自に作成したメソッド)を定義するには、以下の構文を使用します。
<アクセス修飾子> <戻り値の型> <メソッド名>(パラメータリスト) { メソッド本体}構成要素の意味
- アクセス修飾子: メソッドへのアクセス範囲を指定します(public、private など)。
- 戻り値の型: メソッドが返す値のデータ型です。値を返さない場合は void を指定します。
- メソッド名: 呼び出し時に使用するメソッドの名前です。
- パラメータリスト: メソッドに渡す引数の型と名前を指定します。引数がない場合は空にします。
カスタムメソッドを実際に呼び出す例として、数値の2進数表現が回文(パリンドローム)かどうかを判定するプログラムを見てみましょう。ここでは、ビット列を反転する funcReverse() メソッドと、元の数値と反転後の数値を比較する checkPalindrome() メソッドを定義し、Main() メソッドから呼び出しています。
サンプルコード
using System;
public class Demo {
public static long funcReverse(long num) {
long myRev = 0;
while (num > 0) {
myRev <<= 1;
if ((num & 1) == 1)
myRev ^= 1;
num >>= 1;
}
return myRev;
}
public static bool checkPalindrome(long num) {
long myRev = funcReverse(num);
return (num == myRev);
}
public static void Main() {
// 5 の2進数表現は 101
long num = 5;
if (checkPalindrome(num))
Console.WriteLine("Palindrome Number");
else
Console.WriteLine("Not a Palindrome Number");
}
}
実行結果
Palindrome Number
コードの解説
funcReverse() メソッドは、引数で受け取った数値のビットを下位から順に取り出し、myRev 変数に左シフトしながら格納することで、ビット列全体を反転させています。checkPalindrome() メソッドは、その反転結果と元の数値を比較し、一致すれば true を返します。今回の例では 5 の2進数表現が「101」であり、反転しても「101」のまま変わらないため回文と判定され、「Palindrome Number」が出力されます。
-
Rubyメソッドをスパイする方法!TracePointで実行をトレースしよう
Rubyには、TracePointクラスを使ってアクセスできる組み込みのトレーシングシステムが備わっています。このシステムを利用すると、メソッド呼び出し、新しいスレッドの開始、例外の発生などをトレースできます。 なぜこれを使いたくなるのでしょうか? たとえば、特定のメソッドの実行過程を追跡したい場合に非常に便利です。その処理の中で他にどのメソッドが呼ばれているのか、どんな戻り値が返されているのかを、目で確認できるようになります。 それでは、いくつか具体例を見ていきましょう! メソッド呼び出しをトレースする 多くの場合、TracePointでトレースしたいのはアプリケーション側のコードであり、
-
iPhoneで削除した通話履歴を復元する3つの方法|復元なしで確認する裏ワザも解説
iPhoneの通話履歴は、いざ必要になったときにはもう手遅れ——そんな経験はありませんか?残念ながら、削除してしまった通話履歴を復元するのは簡単ではありません。iPhoneが通話履歴を管理する仕組みを変えることはほぼ不可能で、「最近削除した項目」のようなフォルダも用意されていません。しかし、いくつかの対処法は存在します。 この記事では、iPhoneで削除された通話履歴を復元する3つの方法に加えて、データを復元せずに削除済みの通話を確認する3つのテクニックもご紹介します。 なぜiPhoneは通話履歴を自動的に削除するのか? 実は、iPhoneの通話履歴機能には細かい設定項目がありません。デフ