C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のSByte.ToString()メソッドとは?使い方をサンプルコード付きで解説

C#のSByte.ToString()メソッドは、SByte型のインスタンスが持つ数値を、それに相当する文字列表現(string)に変換するためのメソッドです。数値を画面に表示したり、文字列として連結したりする際に頻繁に利用されます。

構文

SByte.ToString()メソッドの構文は以下のとおりです。

public override string ToString();

引数を取らず、現在のインスタンスの数値を表す文字列を返します。Objectクラスからオーバーライドされたメソッドである点も特徴です。

サンプルコード1

まず、基本的な使用例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        sbyte s1 = 10;
        sbyte s2 = 100;
        Console.WriteLine("Value of S1 = "+s1);
        Console.WriteLine("Value of S2 = "+s2);
        int res = s1.CompareTo(s2);
        if (res > 0)
            Console.WriteLine("s1 > s2");
        else if (res < 0)
            Console.WriteLine("s1 < s2");
        else
            Console.WriteLine("s1 = s2");
        Console.WriteLine("\nHashCode for s1 = "+s1.GetHashCode());
        Console.WriteLine("GetTypeCode for s1 = "+s1.GetTypeCode());
        Console.WriteLine("String representation for s1 = "+s1.ToString());
        Console.WriteLine("\nHashCode for s2 = "+s2.GetHashCode());
        Console.WriteLine("GetTypeCode for s2 = "+s2.GetTypeCode());
        Console.WriteLine("String representation for s2 = "+s2.ToString());
    }
}

実行結果

上記のプログラムを実行すると、次の出力が得られます。

Value of S1 = 10
Value of S2 = 100
s1 < s2
HashCode for s1 = 2570
GetTypeCode for s1 = SByte
String representation for s1 = 10
HashCode for s2 = 25700
GetTypeCode for s2 = SByte
String representation for s2 = 100

この例では、ToString()メソッドによって、sbyte型の値「10」と「100」がそれぞれ文字列「"10"」「"100"」に変換されていることが確認できます。また、GetTypeCode()メソッドが「SByte」を返すことから、このインスタンスの型がSByteであることもわかります。

サンプルコード2

続いて、SByte.MaxValueと組み合わせた別の例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        sbyte s1 = 99;
        sbyte s2 = SByte.MaxValue;
        Console.WriteLine("Value of S1 = "+s1);
        Console.WriteLine("Value of S2 = "+s2);
        Console.WriteLine("Is s1 and s2 equal? = "+s1.Equals(s2));
        int res = s1.CompareTo(s2);
        if (res > 0)
            Console.WriteLine("s1 > s2");
        else if (res < 0)
            Console.WriteLine("s1 < s2");
        else
            Console.WriteLine("s1 = s2");
        Console.WriteLine("String representation for s1 = "+s1.ToString());
        Console.WriteLine("String representation for s2 = "+s2.ToString());
    }
}

実行結果

上記のプログラムを実行すると、次の出力が得られます。

Value of S1 = 99
Value of S2 = 127
Is s1 and s2 equal? = False
s1 < s2
String representation for s1 = 99
String representation for s2 = 127

この例では、SByte.MaxValue(sbyte型が表現できる最大値の127)をToString()メソッドで文字列に変換しています。Equals()メソッドによる等価比較やCompareTo()メソッドによる大小比較の結果と合わせて、各値の文字列表現が出力されていることがわかります。

まとめ

SByte.ToString()メソッドを使うことで、sbyte型の数値を簡単に文字列へ変換できます。引数不要でシンプルに使える一方、書式を指定したい場合にはToString(string format)やToString(string format, IFormatProvider)といったオーバーロードも用意されているため、用途に応じて使い分けるとよいでしょう。

  1. JavaのMatcherクラスtoString()メソッドの使い方|サンプルコード付きで解説

    java.util.regex.Matcher クラスは、正規表現を用いた各種マッチ操作を実行する「エンジン」を表すクラスです。このクラスには公開されたコンストラクタが用意されておらず、java.util.regex.Pattern クラスの matcher(CharSequence) メソッドを呼び出して Matcher オブジェクトを取得します。 Matcher クラスの toString() メソッドは、現在の Matcher オブジェクトの状態を表す文字列を返します。返される文字列には、使用している正規表現パターン、検索対象のリージョン(開始・終了インデックス)、最後にマッチした文字

  2. 【Java】PatternクラスのtoString()メソッドの使い方と実行例

    java.util.regex パッケージの Pattern クラスは、正規表現をコンパイルした結果を表すクラスです。このクラスを利用することで、文字列に対する効率的なパターンマッチング処理を行うことができます。 toString() メソッドは、現在の Pattern オブジェクトがコンパイルされる際に使用された正規表現そのものを文字列として返します。つまり、Pattern.compile() に渡した正規表現と同じ内容を取得できます。 例1:toString()メソッドの基本的な使い方 import java.util.Scanner; import java.util.regex.Pat