Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 没有此类标签';标签_05C0';在goto语句的范围内_C#_Asp.net_Label_Goto - Fatal编程技术网

C# 没有此类标签';标签_05C0';在goto语句的范围内

C# 没有此类标签';标签_05C0';在goto语句的范围内,c#,asp.net,label,goto,C#,Asp.net,Label,Goto,如何修复错误 错误23 goto语句H:\calismarim\v2\Version 2\ro.ascx.cs 582 17 Version 2的范围内没有此类标签“label\u 05C0” if(this.PriceID==“”) { this.ddlSelectedPrices.Visible=false; this.lnkClosePrices.Visible=false; this.lblClosePrices.Visible=false; DataTable2=新的DataTable

如何修复错误

错误23 goto语句H:\calismarim\v2\Version 2\ro.ascx.cs 582 17 Version 2的范围内没有此类标签“label\u 05C0”

if(this.PriceID==“”)
{
this.ddlSelectedPrices.Visible=false;
this.lnkClosePrices.Visible=false;
this.lblClosePrices.Visible=false;
DataTable2=新的DataTable();
表2.Columns.Add(“PriceID”,Type.GetType(“System.Int32”);
表2.Columns.Add(“PriceName”,Type.GetType(“System.String”);
表2.Columns.Add(“Count”,Type.GetType(“System.Int32”);
int num3=1;
while(str!=“”)
{
ds.Tables[0].DefaultView.RowFilter=str+“和”+this.method_6(Conversions.ToString(num3));
标签_0547:
如果(ds.Tables[0].DefaultView.Count>0)
{
table2.Rows.Add(新对象[]{num3,this.method_5(Conversions.ToString(num3)),ds.Tables[0].DefaultView.Count});
}
num3++;
如果(num3 0)
{
this.divPrices.Visible=true;
this.dlPrices.Visible=true;
this.lblPrices.Visible=真;
}
返回;
标签_05C0:
ds.Tables[0].DefaultView.RowFilter=this.method_6(Conversions.ToString(num3));
goto标签_0547;
int zz21z1a=0;
}
转到标签_05C0;
int zzz1f=0;
}

标签在
while
循环的范围内,但您尝试在循环之外调用它

你不能那样做

要么确保标签在gotos中,要么更改代码-函数正常

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。。。排队打电话,你们到底希望他们做什么


你确定goto是一个好的选择吗?

如果你在IL级别修改代码,这可以起作用。例如,使用假goto语句编译它,然后在DNSPY中编辑代码并修改goto。你可以用这种方式做各种奇怪和奇妙的事情


这并不是一个好主意。

我的建议是:重构并摆脱你的goto!我已经很久没见过了,我忘了他们是干什么的!去吧!一些我见过的最糟糕的代码。匈牙利符号丰富,
goto
,魔法值,过度使用
这个
,很可能重新发明了轮子
转换。ToString(int)
。。。啊。。。看着它的幸福!想象一下你在代码审查中会有什么乐趣。你可以发明一个完整的亵渎类。根据标签的名称以及变量名,看起来他正在试图编译来自反编译器的代码。
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;