カテゴリ: C# 更新日: 2025/10/25

C#の文字列を逆順にする方法を学ぼう!初心者でもわかるstring操作

C#の文字列の逆順を取得する方法を学ぼう
C#の文字列の逆順を取得する方法を学ぼう

先生と生徒の会話形式で理解しよう

生徒

「先生、C#で文字列を逆に並べる方法ってありますか? たとえば “Hello” を “olleH” にしたいです!」

先生

「いい質問ですね。C#では、文字列(string)を簡単に逆順にする方法がいくつかありますよ。」

生徒

「へぇー!どうやってやるんですか?初心者でもできる方法がいいです!」

先生

「もちろん!では、基本的な方法から順に、わかりやすく説明していきましょう。」

1. C#で文字列を逆順にするとは?

1. C#で文字列を逆順にするとは?
1. C#で文字列を逆順にするとは?

まず、「文字列を逆順にする」とは、文字の並びを後ろから前に並べ替えることを指します。たとえば、文字列"Hello"を逆順にすると、"olleH"になります。

この操作は、文字列の処理文字の並び替えを学ぶうえでとても重要です。C#(シーシャープ)では、いくつかの方法で簡単に逆順を実現できます。

2. ToCharArray()とArray.Reverse()を使う基本的な方法

2. ToCharArray()とArray.Reverse()を使う基本的な方法
2. ToCharArray()とArray.Reverse()を使う基本的な方法

最も基本的でわかりやすい方法は、文字列を配列に変換してから、それを逆順に並び替える方法です。

文字列を1文字ずつ扱うには、ToCharArray()メソッドを使います。このメソッドは、文字列を「文字の配列(char配列)」に変換します。

次に、Array.Reverse()メソッドで、その配列の順番を反転させます。


string text = "Hello";
char[] chars = text.ToCharArray();
Array.Reverse(chars);
string reversed = new string(chars);
Console.WriteLine(reversed);

このコードを実行すると、出力結果は次のようになります。


olleH

とてもシンプルですね。ToCharArray()で文字を1つずつ扱えるようにし、Array.Reverse()で並びを逆にして、最後にnew string()で再び文字列に戻しています。

3. LINQ(リンク)を使って逆順にする方法

3. LINQ(リンク)を使って逆順にする方法
3. LINQ(リンク)を使って逆順にする方法

もう少しスマートに書く方法として、C#の便利な機能であるLINQ(リンク)を使う方法があります。

LINQとは、「Language Integrated Query(統合言語クエリ)」の略で、配列やリストなどのデータを簡単に操作できる機能です。難しく聞こえるかもしれませんが、ここでは1行で逆順を実現できる簡単な使い方を紹介します。


using System;
using System.Linq;

class Program
{
    static void Main()
    {
        string text = "CSharp";
        string reversed = new string(text.Reverse().ToArray());
        Console.WriteLine(reversed);
    }
}

実行結果は次のとおりです。


prahSC

この書き方では、Reverse()メソッドが内部的に文字の順番を逆にし、ToArray()で配列に変換してから、再びnew string()で文字列に戻しています。

とても簡潔で読みやすい書き方ですね。

4. 自分でループを書いて逆順にしてみよう

4. 自分でループを書いて逆順にしてみよう
4. 自分でループを書いて逆順にしてみよう

次は少し応用として、自分でループを使って逆順にする方法を見てみましょう。これを理解すると、C#のfor文文字列の結合にも慣れていくことができます。


string text = "World";
string reversed = "";

for (int i = text.Length - 1; i >= 0; i--)
{
    reversed += text[i];
}

Console.WriteLine(reversed);

出力結果は次のとおりです。


dlroW

このコードでは、text.Length - 1からスタートし、最後の文字から順番に1文字ずつ取り出して新しい文字列に足しています。こうすることで、後ろから前に向かって文字を組み立てることができるのです。

この方法は、C#のループ処理を学ぶ練習にもなります。

5. 文字列が空(から)のときの注意点

5. 文字列が空(から)のときの注意点
5. 文字列が空(から)のときの注意点

プログラムでは、文字列が空だったり、null(ヌル:値が存在しない状態)だったりする場合があります。そのようなときに逆順処理をすると、エラーが発生してしまうこともあります。

安全に処理するには、次のようにチェックを入れておくと良いでしょう。


string text = "";
string reversed = "";

if (!string.IsNullOrEmpty(text))
{
    reversed = new string(text.Reverse().ToArray());
}

Console.WriteLine(reversed);

string.IsNullOrEmpty()メソッドは、文字列が空またはnullの場合にtrueを返す便利なメソッドです。このチェックを行うことで、安全に文字列操作を行うことができます。

6. 文字列を逆順にする実用的な場面

6. 文字列を逆順にする実用的な場面
6. 文字列を逆順にする実用的な場面

では、文字列を逆順にするのはどんなときに役立つのでしょうか?

  • 文章を後ろから読んで意味を解析する処理
  • 暗号化やパスワード生成の一部に利用
  • 回文(左右対称の言葉)を調べるとき

例えば、「level」や「madam」のような単語は、前から読んでも後ろから読んでも同じになります。こうした単語を調べるときにも、逆順処理が役立ちます。

7. まとめ:C#の文字列を自由に扱おう

7. まとめ:C#の文字列を自由に扱おう
7. まとめ:C#の文字列を自由に扱おう

今回は、C#の文字列を逆順にする方法を学びました。

ToCharArray()Array.Reverse()で基本を理解する
Reverse()ToArray()で簡潔に書く
・ループを使って文字列を自作で逆順にする

どの方法も使えるようになると、C#で文字列を自在に操作できるようになります。初心者の方も、まずは短い文字列で練習してみてくださいね。

カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法