没有这样的标签';Label_05C0';在goto声明的范围内
本文关键字:05C0 goto 声明 范围内 Label 标签 | 更新日期: 2023-09-27 17:59:10
如何修复错误?
错误23在goto语句H:''calismalarim''v2''Version 2''ro.ascx.cs 582 17 Version 2 的范围内没有这样的标签"label_05C0"
if (this.PriceID == "")
{
this.ddlSelectedPrices.Visible = false;
this.lnkClosePrices.Visible = false;
this.lblClosePrices.Visible = false;
DataTable table2 = new DataTable();
table2.Columns.Add("PriceID", Type.GetType("System.Int32"));
table2.Columns.Add("PriceName", Type.GetType("System.String"));
table2.Columns.Add("Count", Type.GetType("System.Int32"));
int num3 = 1;
while (str != "")
{
ds.Tables[0].DefaultView.RowFilter = str + " and " + this.method_6(Conversions.ToString(num3));
Label_0547:
if (ds.Tables[0].DefaultView.Count > 0)
{
table2.Rows.Add(new object[] { num3, this.method_5(Conversions.ToString(num3)), ds.Tables[0].DefaultView.Count });
}
num3++;
if (num3 <= 12)
{
continue;
}
this.dlPrices.DataSource = table2;
this.dlPrices.DataBind();
if (this.dlPrices.Items.Count > 0)
{
this.divPrices.Visible = true;
this.dlPrices.Visible = true;
this.lblPrices.Visible = true;
}
return;
Label_05C0:
ds.Tables[0].DefaultView.RowFilter = this.method_6(Conversions.ToString(num3));
goto Label_0547;
int zz21z1a = 0;
}
goto Label_05C0;
int zzz1f = 0;
}
标签在while
循环的范围内,但您尝试在循环的外部调用它。
你不能那样做。
要么确保你的标签和goto在相同的词法范围内,要么改变你的代码——函数是好的。
如果在IL级别修改代码,则可以使其工作。例如,用一个假的goto语句编译它,然后在DNSPY中编辑代码并修改goto。你可以用这种方式做各种奇怪而美妙的事情。
这并不是一个好主意。
Label_05C0:
ds.Tables[0].DefaultView.RowFilter = this.method_6(Conversions.ToString(num3));
goto Label_0547;
int zz21z1a = 0;
}
goto Label_05C0;
int zzz1f = 0;
标签在while循环中,因此它只存在于while语句的范围内。你想跳回去。。。
使用goto很少是个好主意。将块结构代码和goto混合在一起是个坏主意。
Ps你怎么会期待那些int zzz。。。要打电话的线路,你们到底希望他们做什么?
你确定后藤是个不错的选择吗?