Tips

2018.05.11

C# 基礎 第5回 文字列の足し算

文字列がどんどん繋がります

みなさんおはようございます。
連載の担当者、後藤です。

前回は、簡単なお返事をしてくれるプログラムを書いてもらいましたね。
おつかれさまでした。

いままでやったことは、以下の二つです。

  1. すでにある文字列を、ただ表示する
  2. なにか文字列を入力してもらう

いままでは、文字列に手を加えることはありませんでした。
今回は、すでにある文字列を足しあわせてもらうことで、
もっと使いやすい形の文字列を作ってもらいます。

今日の流れです。

  1. おさらい
  2. 文字列の足し算
  3. 実習
  4. まとめ
  5. おまけ: 文字列の掛け算など

1. おさらい

前回、標準出力を扱いました。
その時、二つの文字列をくっつける方法も学習しましたね。
おさらいしましょう。

コード例

using System;

namespace StringConcatByConsoleWrite
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            // 二つの文字列がくっついて表示されます。
            Console.Write("くっついて");
            Console.Write("表示されました!");
        }
    }
}

実行結果

理屈の上では、これを何回も繰り返せば、何個もの文字列をくっつけて表示できます。
例を見てみましょう。

コード例

using System;

namespace LongVersionOfStringConcatByConsoleWrite
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            // 全てくっついて表示されます
            Console.Write("みんな");
            Console.Write("みんな");
            Console.Write("みんな");
            Console.Write("まとめて");
            Console.Write("一緒に");
            Console.Write("表示されました!");
        }
    }
}

実行結果

でも、これ長くありませんか?
毎回、Console.Write()を書くんでしょうか。

最初から、文字列を一個にまとめてしまって、
表示すればいい気がします。
そんな方法、あるのかな?

2. 文字列の足し算

いくつもの文字列をつなげて、新しい文字列を作る方法、あります!
それが、文字列の足し算。
使う記号は、『+』だけ。
例えば、こんな感じです。

コード例

// 二つの文字列が合体して、『文字列の足し算』という新しい文字列ができます。
"文字列の" + "足し算";

使い方を以下に載せます。

コード例

using System;

namespace StringConcatExample
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            // 基本的な使い方
            Console.WriteLine("くっつけ" + "られました。");
            // 二個以上使うこともできる。
            Console.WriteLine("もっと" + "くっつけ" + "られました");
        }
    }
}

実行結果

3. 実習

以下の文字列を連結するコードを書いてください。
1行目. “今日の” “課題”
2行目. “うまく” “できました。”
3行目. “C#は” “とっても” “楽しいです。”

解答例を以下に載せます。
コード例
[csharp] using System;

namespace StringConcat
{
class MainClass
{
public static void Main(string[] args)
{
// 文字列を足し算して出力します。
Console.WriteLine("今日の" + "課題");
Console.WriteLine("うまく" + "できました。");
Console.WriteLine("C#は" + "とっても" + "楽しいです。");
}
}
}
[/csharp]

実行結果

4. まとめ

今日は、文字列の足し算について学びました。
次回は、数の計算(算数)と、でたらめな数の出し方(乱数)を学びましょう。

おまけ

5. おまけ: 文字列の掛け算など

文字列の足し算があるなら、掛け算、引き算、割り算があるんじゃないか?
そう思った方はいませんか?
例えば、下のリストのように考えられますね。

文字列の掛け算、引き算、割り算の考え方

  • 文字列の掛け算
  • 例: “ABC” * 3 = “ABCABCABC”

  • 文字列の引き算
  • 例: “ABC” – “BC” = “A”

  • 文字列の割り算
  • 例: “ABC” / 3 = “A”, “B”, “C”

実際、別のプログラミング言語python3では、『*』を使って文字列の掛け算ができます。

コード例
[python] # 文字列『ABC』を3回繰り返した文字列『ABCABCABC』が作られて、表示されます。
print("ABC" * 3)
[/python]

しかし、残念ながらC#では文字列の掛け算のための計算記号は用意されていません。
同じようなことをやろうと思えば、できます。
でも、そのためにはもう少し難しいやり方が必要です。

文字列の引き算や割り算も、同じです。
C#には、専用の計算記号が用意されていません。
難しいやり方を使えばできますが、それにはもう少し勉強が必要。
みなさんならきっとできると信じていますが、今はもう少しだけお待ちくださいね。

ゲーム制作関連のオススメ連載リンク

とっても手軽なゲーム制作体験!
Unityゲーム開発基礎

実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発

Recent News

Recent Tips

Tag Search