|
答え出ているようですけど、一応。
private void button1_Click(object sender, EventArgs e) {
string[] lines = {
"うしかもしか", "ヌー",
"かもしか", "ウシ科",
"かも", "鳥類",
"もしかしたら", "仮定",
"りんご", "果物",
};
string pattern = "かもしか";
int maxlength = 0;
List<string> findList = new List<string>();
// 偶数番の文字列と"かもしか"をマッチさせる。
// マッチしたら次行(奇数番)をプリントする。
for (int i = 0; i < lines.Length; i += 2) {
if (match(lines[i], pattern)) {
if ( maxlength < lines[i + 1].Length ) {
maxlength = lines[i + 1].Length;
findList.Clear();
findList.Add(lines[i + 1]);
} else if (maxlength == lines[i + 1].Length) {
findList.Add(lines[i + 1]);
}
}
}
if (findList.Count > 0) {
Random rnd = new Random(Environment.TickCount);
MessageBox.Show(findList[rnd.Next(0, findList.Count)]);
} else {
MessageBox.Show("(´・ω・`)");
}
前回貼り付けたコードのbutton1_Clickのところを書き換えるだけ。
難しいことは一切やってないです。(まともに検証してないけど多分動くはず)
|