005.2. stringを使いこなす

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

stringとは文字列型のことです。stringとは結構細かいものでして、使いこなすにはいくつか覚えないといけないことがあります。

string型の作り方

stringもintやboolのように特例があり、文字列を””で囲むだけでインスタンスを生成することができます。

string str = "Hello World!";
Console.WriteLine(str);

ただし、改行とかをしたい場合はちょっと特殊な書き方をする必要があります。

特殊コード

改行の仕方

改行をする時は¥n、または¥r¥nを入れることでできます。双方の違いは、動くシステムによって分かれると言うだけです。¥r¥nを入れておけば間違いはない。けど¥nでも私の経験上問題が起きたことはないです。

string str = "Hello¥n World!";
Console.WriteLine(str);
// 出力
// Hello
// World!

タブ文字

あんまり使わないかもしれないですが、空白4つ分ぐらいの空白のことをタブといいます。それを表示させるのは¥tで行います。

¥マークを表示する

¥nで改行、¥tでタブ文字が表示されると書きました。ではただ単純に¥マークを表示させたい。画面に「¥n」と表示させたい場合はこのようにします。

string str1 = "¥¥";
string str2 = "¥¥n";

このように¥¥と2つ続けて書くことで、「¥」と表示することができます。

“や’マークを表示する

似たような感じで”マークを表示することもできます。

string str = "¥"Hello World!¥"";
Console.WriteLine(str);
// 出力
// "Hello World!"

¥”としないと文字列を囲むために””と勘違いされてしまいます。

ヌル文字

プログラミング序盤では出てくることはあまりないですが、ヌル文字を表示させるのは¥0とすればできます。

文字コードで表示

文字コードを直接入力して表示させることもできます。
例えば、aの文字コードは97です。16進数にすると61なので、これを表示させるには¥0x61とすればできます。

¥を大量に含む文字列を書きたい!

さて、「¥」と表示させるのは¥¥と書けばいいと言いましたが、これを大量に含む文字列を書く場合はどうすればいいのでしょうか。
正攻法でいけばこうなりますよね

string str = "¥¥¥¥¥¥¥¥¥¥";

ですが、ごちゃごちゃしすぎてわかりづらい!こんな時は””の左外側に@をつけることで楽になります。

string str = @"¥¥¥¥¥";

@をつけることで、¥マークを使った特殊コードが全て無効になります。
この方法で改行するとこんなコードを書くこともできます。

string str = @"0. Hello World
1. Hello World!
2. Hello World!!
3. Hello World!!!";

このように、文字列中で本当の改行をして書くこともできます。ただ分かりづらくなるので極力控えましょう。

文字列同士を連結する

文字列同士を合体させたい場合、C言語とかでは専用の関数を使う必要がありましたが、C#では+で繋ぎあわせることができます!

string str1 = "Hello ";
string str2 = "World!";
string res = str1 + str2;
// res => Hello World!

また、数字と文字列、文字列と数字を合体させる時も気にせず合体させれます。

string str = "個のリンゴ"
int count = 10;
string res = count + str;
// res => 10個のリンゴ

 オブジェクトを文字列に変換する

文字列ではないオブジェクトを無理やり文字列にすることもできます。
その場合、[文字列にするオブジェクト].ToString()とすればいいだけです。ToStringメソッドは全てのオブジェクトが持っています。

int count = 123;
string res = count.ToString();