目次

string型の文字列で指定した位置の文字を取得する

目次

string型の文字列で指定した位置の文字を取得するコードを紹介します。

概要

string型の文字列で特定の文字にアクセスするには添え字を利用します。

書式

(string型変数)[インデックス番号]

インデックス番号は0から始まる整数値で0が先頭の文字となります。

  char c = strname[4]

プログラム例

UI

下図のUIを作成します。
string型の文字列で指定した位置の文字を取得する:画像1

コード

下記のコードを記述します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace StringIndex
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      string value = "Penguin";
      char c = value[3];
      textBox1.Text = "char:" + c.ToString();
    }

    private void button2_Click(object sender, EventArgs e)
    {
      string value = "しろくまさん";
      char c = value[4];
      textBox1.Text = "char:" + c.ToString();
    }

    private void button3_Click(object sender, EventArgs e)
    {
      string value = "あひるとPenguinでセット";
      char c = value[8];
      textBox1.Text = "char:" + c.ToString();
    }
  }
}

解説

button1

      string value = "Penguin";
      char c = value[3];
      textBox1.Text = "char:" + c.ToString();

value変数の文字列"Penguin"の[3]にアクセスすることで、4文字目の文字を取得します。4文字目は"g"ですので、テキストボックスに"g"の文字を表示します。

button2

      string value = "しろくまさん";
      char c = value[4];
      textBox1.Text = "char:" + c.ToString();

value変数の文字列"しろくまさん"の[4]にアクセスすることで、5文字目の文字を取得します。5文字目の"さ"がテキストボックスに表示されます。

button3

      string value = "あひるとPenguinでセット";
      char c = value[8];
      textBox1.Text = "char:" + c.ToString();

value変数の文字列"あひるとPenguinでセット"の[8]にアクセスすることで、9文字目の文字を取得します。9文字目の"u"がテキストボックスに表示されます。

実行結果

プロジェクトを実行します。アプリケーションが起動し、下図のウィンドウが表示されます。
string型の文字列で指定した位置の文字を取得する:画像2

[button1]をクリックします。"Penguin"の4文字目"g"がテキストボックスに表示されます。
string型の文字列で指定した位置の文字を取得する:画像3

[button2]をクリックします。"しろくまさん"の5文字目"さ"がテキストボックスに表示されます。
string型の文字列で指定した位置の文字を取得する:画像4

[button3]をクリックします。"あひるとPenguinでセット"の9文字目"u"がテキストボックスに表示されます。
string型の文字列で指定した位置の文字を取得する:画像5

文字列から指定した位置にあるキャラクター(文字)を取得できました。

補足

string型への添え字でのアクセスは読み取り専用プロパティのアクセスと同等のため、下記のコードのように代入することはできません。

  string value = "Penguin";
  value[4] = 't';


上記コードをコンパイルするとすると、

CS0200 プロパティまたはインデクサー 'string.this[int]' は読み取り専用であるため、割り当てることはできません StringIndex

のエラーが発生しビルドに失敗します。
string型の文字列で指定した位置の文字を取得する:画像6


AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2016-12-28
Copyright © 1995–2025 iPentec all rights reserverd.