Skip to main content.

Sunday, April 09, 2006

C#基礎・文字列操作

MS Visual C# 2005 Express Editionを利用したC#基礎です。

文字列操作の基礎についてです。C#では文字列操作にはSystem.Stringクラスが用意されています。実際のプログラミングでは、このSystem.Stringクラスのエイリアスとして定義されているstring型を使用します。

Stringクラス(string型)は、作成時以降に値の変更できない不変型です。メソッドで内容を変更しているように見えるのは、実際には新しいインスタンスを返しています。文字列の内容を変更する必要がある場合には、StringBuilderクラスを使用します。

ここでは、以下のメンバをテストプログラムにしてみました。

連結:"+" 演算子
検索:IndexOfメソッド 
置換:Replaceメソッド
取り出し:Substringメソッド 
長さ:Lengthプロパティ

実行画面


プログラムの一部分です。連結と検索です。

//連結
private void button1_Click(object sender, EventArgs e)
{
  string newString;
  string msg;

  newString = textBox1.Text + textBox2.Text;
  msg = "連結した文字列は、" + newString + "です。";
    
  MessageBox.Show(msg);
}

//検索
private void button2_Click(object sender, EventArgs e)
{
  string string1, string2;
  string msg;

  string1 = textBox3.Text;//文字列
  string2 = textBox4.Text;//検索する文字列

  int idx = string1.IndexOf(string2);

  if (idx > -1)
  {
    idx++;
    msg = idx + "番目から見つかりました。";
  }
  else
  {
    msg = "見つかりません。";
  }

  MessageBox.Show(msg);
}

プロジェクトファイルを以下に置きました。プログラム全体はこちらを参照してください。

プロジェクトファイル一式

動作確認しましたが、エラー処理等、不十分ですので、動作は保証できません。このプログラムを利用しての不具合、不利益には一切の責任を負いかねます。ご了承ください。

その他のメソッド等の詳細は、以下の参考リンクを参照してください。

MSDNライブラリ C#プログラミング ガイド
MSDNアルゴリズム入門 Visual C#による文字列処理入門
Uchukamen C# Programming 文字列の操作