打开关闭大括号检查
本文关键字:检查 开关 | 更新日期: 2023-09-27 18:37:07
我正在检查左大括号和右大括号。 假设这是我的输入
{xyz{njdjd{lkdf}fj}jf}
当我编译输入左大括号和右大括号想要分离并存储在列表中时,我使用了以下代码
`List<Match> open=new List<Match>();
List<Match> close = new List<Match>();
MatchCollection openbrace = Regex.Matches(MELEdtior, "{");
foreach(Match o in openbrace)
{
open.Add(o);
}
MatchCollection closebrace = Regex.Matches(MELEdtior, "}");
foreach(Match c in closebrace)
{
close.Add(c);
}
这很完美,我得到了两个带有左大括号和右大括号的单独列表。
现在我想比较列表并配对打开和关闭大括号。 如果任何一个打开或关闭错过了该对意味着想要显示错误。 为此,我用于每个循环。 我面临的意味着一个打开的大括号,可以检查所有关闭的大括号。 但我想用一个右大括号检查开大括号。
if(open.Count==close.Count)
{
foreach(var openi in open)
{
foreach(var closei in close)
{
if( openi != closei)
{
}
else { return "failed"; }
}
}
}
else{return "count failed";}
return "";
怎么了?
运行两个集合的单个循环应该可以解决您的问题。
if (open.Count == close.Count)
{
var listCount = open.Count;
for (var i = 0; i < listCount; i++)
{
if (open[i] != close[i])
{
}
else
{
return "failed";
}
}
}
else
{
return "count failed";
}
return "passed";