string型の文字列で指定した位置の文字を取得するコードを紹介します。
string型の文字列で特定の文字にアクセスするには添え字を利用します。
インデックス番号は0から始まる整数値で0が先頭の文字となります。
char c = strname[4]
下図のUIを作成します。
下記のコードを記述します。
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();
}
}
}
string value = "Penguin";
char c = value[3];
textBox1.Text = "char:" + c.ToString();
value変数の文字列"Penguin"の[3]にアクセスすることで、4文字目の文字を取得します。4文字目は"g"ですので、テキストボックスに"g"の文字を表示します。
string value = "しろくまさん";
char c = value[4];
textBox1.Text = "char:" + c.ToString();
value変数の文字列"しろくまさん"の[4]にアクセスすることで、5文字目の文字を取得します。5文字目の"さ"がテキストボックスに表示されます。
string value = "あひるとPenguinでセット";
char c = value[8];
textBox1.Text = "char:" + c.ToString();
value変数の文字列"あひるとPenguinでセット"の[8]にアクセスすることで、9文字目の文字を取得します。9文字目の"u"がテキストボックスに表示されます。
プロジェクトを実行します。アプリケーションが起動し、下図のウィンドウが表示されます。
[button1]をクリックします。"Penguin"の4文字目"g"がテキストボックスに表示されます。
[button2]をクリックします。"しろくまさん"の5文字目"さ"がテキストボックスに表示されます。
[button3]をクリックします。"あひるとPenguinでセット"の9文字目"u"がテキストボックスに表示されます。
文字列から指定した位置にあるキャラクター(文字)を取得できました。
string型への添え字でのアクセスは読み取り専用プロパティのアクセスと同等のため、下記のコードのように代入することはできません。
string value = "Penguin";
value[4] = 't';
上記コードをコンパイルするとすると、
のエラーが発生しビルドに失敗します。