以下のコードで何が間違っているかわかりません。私のリターンは機能していません。 私はコードでいくつかの詳細をコメントしました。メソッドが期待値を返さない
itemは、テキストファイルの行です。 「Port; 2302;
」
portTextBox.Text = Config_check(item, "Port", 1);
private string Config_check(string item, string contains, int i)
{
string part = "defualt";
if (item.Contains(contains))
{
MatchCollection Parts = Regex.Matches(item, @"(?i); *(.+?);(?-i)", RegexOptions.Singleline);
foreach (Match m in Parts)
{
part = m.Groups[i].Value; // sets part to '2302'
MessageBox.Show(part); // Shows '2302', Does open message box
return part; // Dosnt work
}
MessageBox.Show(part); // Shows 'Defualt' why?!?!
return part; // Dosnt work
}
MessageBox.Show(part); // Shows 'Defualt' why?!?!
return part; // returns 'Defualt'
}
デバッグしましたか?入力と正規表現が実行されておらず、期待どおりに異なる可能性があります。 – DigiFriend
つまり、何が起きているのかについてのあなたのコメントは、正規表現が 'item'と一致しないことを示唆しています。 – DigiFriend
"item"の値は何ですか?なぜ正規表現がそれに一致すると思いますか? – DigiFriend