[C#]文字列操作まとめ(連結 / 改行 / 複数行 / Nullチェック)

最近はAzure Functionで日々開発していますが、文字列をゴリゴリあつかったのでまとめてみたいと思います!

文字列連結

他の言語と同様に「+」で連結できます。

var fruits = "apple,";
fruits = fruits + "banana," + "lemon";

System.Console.WriteLine(fruits); //結果:apple,banana,lemon

文字列改行

「\n」または「\r\n」を使う

改行コードを入れて、改行する方法です。ダブルクォートの中に直接書きます。
unixでは\nでwindowsでは\r\nになるようです。

// 下記はunix環境
var newLineTest = "test\nabc\n123";

System.Console.WriteLine(newLineTest); 
// 結果:
// test
// abc
// 123

Environment.NewLineを使う

Environment.NewLineが改行コードの変わりになります。
環境で定義されている改行文字列を取得してくれるらしいので、windowsで動かす場合は\r\n・unixで動かす場合は\nになってくれそうですね💡
windowsで動かして確認はしてませんが、リンク先に書いてました。どっちでも動かすかもしれない場合はこっちを使っておくと良さそうですね。

var newLineTest2 = "fuga" + Environment.NewLine + "hoge" + Environment.NewLine + "test";

System.Console.WriteLine(newLineTest2);
// 結果:
// fuga
// hoge
// test

文字列に変数を展開する

文字列に変数の内容を展開するには、シングルクォートの前に「$」を付けて、中括弧で変数を括ります。

var rpgGames = "mother2,finalfantasy,dragonquest";
var rpgTest = $"オススメのRPGゲームは{rpgGames}です。";
System.Console.WriteLine(rpgTest);
// 結果:
// オススメのRPGゲームはmother2,finalfantasy,dragonquestです。

複数行に渡って文字を書く

シングルクォートの前に「@」を付けると複数行に渡って文字が書けます。

var food = @"
I like pizza.
I like sushi.
I like ramen.
";
System.Console.WriteLine(food);
// 結果:
// I like pizza.
// I like sushi.
// I like ramen.

Null, Empty(ヌル・空)チェック

そのままチェックする

普通に思いつくのがこちら、比較演算子でnullまたは空文字とそのまま比較する方法ですね。

string nullStr = null;
if (nullStr == null)
{
    System.Console.WriteLine("nullStrはNull!!");
}
else {
    System.Console.WriteLine("nullStrはNot Null!!");
}
// 結果:
// nullStrはNull!!

nullStr = "not null";
if (nullStr == null)
{
    System.Console.WriteLine("nullStrはNull!!");
}
else
{
    System.Console.WriteLine("nullStrはNot Null!!");
}
// 結果:
// nullStrはNot Null!!

nullStr = "";
if (nullStr == "")
{
    System.Console.WriteLine("nullStrは空文字です!!");
}
// 結果:
// nullStrは空文字です!!

string.IsNullOrEmptyを使う

string.IsNullOrEmptyは指定された文字列がnullまたは空文字がチェックしてくれます。
nullか空文字だった場合はtrueになります。どっちもチェックしたいシーンが多いと思うので、積極的に使うと良さそうですね。

string nullOrEmpty = "";

if (string.IsNullOrEmpty(nullOrEmpty))
{
    System.Console.WriteLine("nullOrEmptyは空!");
}
// 結果:
// nullOrEmptyは空!

nullOrEmpty = null;
if (string.IsNullOrEmpty(nullOrEmpty))
{
    System.Console.WriteLine("nullOrEmptyはnull!");
}
// 結果:
// nullOrEmptyはnull!

👋🏻😀

コメント

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