スポンサーリンク
※サイト運営にサーバーは必須です※
 ~このサイトもエックスサーバー
を使用しています~
   
![]()
値型を文字列型へ変換して画面に出力
値型と文字列型が混ざったものをコンソールに出力したい場合に、以下のように書いても、望んだ結果は得られません。
ダメなパターン
int a = 10;
 int b = 20;
 int c = 30;
 Console.WriteLine(“1番目の値はa,2番目の値はb,3番目の値はc”);
変数を文字として扱いたい場合は、以下のように書きます
パターン1:パラメーター指定子を使用
Console.WriteLine(“1番目の値は{0},2番目の値は{1},3番目の値は{2}”,a,b,c);
{0}のところにはaの値が、{1}のところにはbの値、{2}のところにはcの値が入ります。
{x}の「x」の部分をパラメーター指定子と呼ばれることがあります。
パターン2:文字列補間(String interpolation)を使用
Console.WriteLine($”1番目の値は{a},2番目の値は{b},3番目の値は{c}”);
パターン1では、パラメーター指定子(ここでは{0})と置換したい変数(ここではa)が離れていてわかりづらいです。
また、置換したい変数が多い場合、パラメーター指定子と変数の対応関係が見づらくなります。
この問題を解決するために、String interpolation(文字列補間)と呼ばれる機能がC#6.0から追加されました。
「$」(ドルマーク)を「”」の前に書くことで、「{}」の中に直接変数を記述できるようになりました。
パターン3:連結演算子を使用
Console.WriteLine(“1番目の値は” + a + “,2番目の値は” + b + “,3番目の値は” + c);
連結演算子「+」は文字列と文字列をくっつけるために使われます。
連結演算子「+」を文字列と値に使用した場合、値は文字列に変換されます。
ソースコード
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38  | 
						using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Number01 {     class Program     {         static void Main(string[] args)         {             int a = 10;             int b = 20;             int c = 30;             //ダメパターン             Console.WriteLine("ダメなパターン");             Console.WriteLine("1番目の値はa,2番目の値はb,3番目の値はc");             Console.WriteLine("--------------");             //書き方にはいくつかパターンがある             //パラメーター指定子を使用             Console.WriteLine("1番目の値は{0},2番目の値は{1},3番目の値は{2}",a,b,c);             //C#6.0で追加された機能を使う             Console.WriteLine($"1番目の値は{a},2番目の値は{b},3番目の値は{c}");             //連結演算子を使う場合             Console.WriteLine("1番目の値は" + a + ",2番目の値は" + b + ",3番目の値は" + c);         }     } }  | 
					
実行結果
ダメなパターン
 1番目の値はa,2番目の値はb,3番目の値はc
 ————–
 1番目の値は10,2番目の値は20,3番目の値は30
 1番目の値は10,2番目の値は20,3番目の値は30
 1番目の値は10,2番目の値は20,3番目の値は30
書式指定をしたい場合
書式指定子を使うことで、値から文字へ変換する際に、書式を変えることができます。
例えば、書式指定子「p」はパーセント表示を意味します。
ソースコード
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42  | 
						using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Number02 {     class Program     {         static void Main(string[] args)         {             //書式指定したい場合             double x = 0.125;             Console.WriteLine("xのパーセント表示は{0:p}です", x);             Console.WriteLine($"xのパーセント表示は{x:p}です");             string x_txt = x.ToString("p");//数値から文字へ変換             Console.WriteLine("xのパーセント表示は" + x_txt + "です");             //直接書いても問題ないです             Console.WriteLine("xのパーセント表示は" + x.ToString("p") + "です");             string result;             result = String.Format("xのパーセント表示は{0:p}です", x);             Console.WriteLine(result);             result = String.Format($"xのパーセント表示は{x:p}です");             Console.WriteLine(result);         }     } }  | 
					
実行結果
xのパーセント表示は12.50%です
 xのパーセント表示は12.50%です
 xのパーセント表示は12.50%です
 xのパーセント表示は12.50%です
 xのパーセント表示は12.50%です
 xのパーセント表示は12.50%です
どの書き方でも結果は変わりません。
※補足説明
ToStringは値型を文字列型へ変換するメソッドです。
カッコの中に何も指定しない場合は、値を文字列へ単純に変換します。
値.ToString();
逆に、書式を指定したい場合は、以下のように書きます。
値.ToString(“書式指定子”);
String.Formatも値型を文字列型へ変換する際に使用されます。
関連記事
~Webサイトを自分で作ってみませんか?~
Webサイトを運営するにはサーバーが必須です。
 このサイトは、エックスサーバー 
のサーバーを使用しています。
 エックスサーバーは無料で10日間お試しができます。
