[C# プログラミング入門] 文字列について(初期化や使い方)

今回は文字列(string)についてです。
C#で文字列をあつかうにはstring型を使います。

いろいろ書いてありますが、代入の書き方だけ覚えたらあとはこんなのあったなぁ程度に頭に入れておいて必要になった時にまた見返してください。

スポンサーリンク

文字列の初期値や代入について

string型の変数を宣言だけした場合、初期値は nullになります。
このまま、その変数を使用するとエラーになるので注意してください。
宣言をしたら空文字(長さ0の文字列)を代入するようにしましょう。

string str1 = "";
string str2 = System.String.Empty; //これも空文字を表す

string型の変数に値を代入するには文字列を (ダブルコーテーション)で括ります。

string str1 = "abcde";
string str2 = "あいうえお";

複数行まとめて代入したいという場合は、@(アットマーク)を使います。

スポンサーリンク

エスケープシーケンス

文字列の中でダブルコーテーションを使いたい場合、エスケープシーケンスを使います。
円マーク( / )を ” の前に付けるとダブルコーテーションを表します。

string str = "\"";
System.Console.WriteLine(str); // "

他にもそのままでは使えない文字があるのでその場合、エスケープシーケンスを使います。

エスケープシーケンス使用したい文字
\”ダブルコーテーション
\\円マーク
\n改行
\rキャレッジリターン
\t水平タブ
\v垂直タブ
スポンサーリンク

@(逐語的識別子)アットマーク

逐語的識別子 @(アットマーク)を使うと 内に書いた文字列がそのまま使えます
ざっくりいうと、円マークなどエスケープが必要だった文字がそのまま書けて、
複数行も改行を使って入力できるようになります。

わかりにくいと思うのでサンプルです。
文字列の前に@を付けるだけで使えます。

//円マークがそのまま書ける
string str1_1 = "c:\\source\\ConsoleApp1";
string str1_2 = @"c:\source\ConsoleApp1";

//ダブルコーテーションは2回続けて書く
string str2_1 = " \" ";
string str2_2 = @" "" ";

//改行もEnterでいける
string str3_1 = "あいう\nえお";
string str3_2 = @"あいう
えお";

ついでですが、@を付けるとC#の予約語(キーワード)と同じ名前の変数名を付けることができます。

int @int = 10;
System.Console.WriteLine(@int);
スポンサーリンク

文字列補間 $” { } ”

ドルマーク$を使うと文字列リテラル(ダブルコーテーションで指定した文字列のこと)の中に変数を埋め込むことができます。埋め込まれた変数は文字列型に変換されます。

使い方は文字列の前に $ を付け、変数を { } の中に書きます。

int number1 = 1031;
System.Console.WriteLine($"私は「{number1}」です。"); //私は「1031」です。

文字列として “{“、”}” を使いたい場合は”{{“、”}}” と2つ続けて入力します。

int number1 = 1031;
System.Console.WriteLine($"私は{{number1}}です。"); //私は{1031}です

また、文字列に変換する際のフォーマットの指定もできます。
変数の後ろに : (コロン)を付けてフォーマットを指定します。

int numer1 = 1031;
System.Console.WriteLine($"私は「{numer1:000,000}」です。"); //私は「001,031」です。

C# プログラミング講座に戻る

コメント

タイトルとURLをコピーしました