連載

C#入門

第14 C#の配列機能

(株)ピーデー
川俣 晶
2001/10/24


文字配列と文字列の相互変換

 以下はC/C++プログラマ向けのオマケである。C#では、いかに容易に文字配列と文字列の間の相互変換ができるかを示す。

 1: using System;
 2:
 3: namespace ConsoleApplication82
 4: {
 5:   class Class1
 6:   {
 7:     static void Main(string[] args)
 8:     {
 9:       char [] ar1 = { 'A', 'B', 'C' };
10:       foreach( char c in ar1 )
11:       {
12:         Console.WriteLine(c);
13:       }
14:       string s = new string(ar1);
15:       Console.WriteLine(s);
16:       char [] ar2 = s.ToCharArray();
17:       foreach( char c in ar2 )
18:       {
19:         Console.WriteLine(c);
20:       }
21:     }
22:   }
23: }
文字配列と文字列の相互変換を行っているサンプル・プログラム13
C#では、C/C++と違って文字の配列と文字列はまったく別個のものとして扱われるが、それぞれを相互に変換することは極めて容易だ。

 これを実行すると以下のようになる。

サンプル・プログラム13の実行結果
最初に文字の配列の各要素が表示され、次に文字列に変換されたものが表示され、最後に再び配列に戻されたものが表示されている。

 14行目のように、string(System.String)のコンストラクタに文字(char)の配列を指定すれば、その内容を文字列として生成する。また、16行目のように、文字列にToCharArrayメソッドを使うと、戻り値として、文字の配列が返ってくる。

 C#では、C/C++と違って、文字の配列と文字列はまったく別個のものとして扱われるが、このように、必要とあれば、それぞれを相互に変換することは極めて容易になっている。

まとめ

 C#の配列は、配列自身が1つのインスタンスであるため、少々分かりにくいところがあるかもしれない。しかし、極めて強力な初期化リストの記述能力を使いこなせば、他のプログラム言語よりも、コンパクトで強力なソースコードを記述できる可能性を秘めていると言えるだろう。

 さて、次回はインターフェイスについて詳しく取り上げたいと思う。今回も1つだけインターフェイスを実装する事例を紹介しているが、インターフェイスの使い方だけでなく、それを使うことによって得られるさまざまな機能についても解説したいと考えている。

 それでは次回もLet's See Sharp!End of Article


 INDEX
  第14回 C#の配列機能
    1.C#の一次元配列
    2.参照型の配列
    3.参照型配列の初期化
    4.配列をソートする
    5.配列のバイナリ・サーチ
  6.文字配列と文字列の相互変換
 
「C#入門」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH