当前位置:编程学习 > C#/ASP.NET >>

C#中使用return的问题。

请问如何结束某个过程。

例:
        public void Item_SaveData()
        {
            if (tabControl1.SelectedTab == tabPage1)
            {
                //验证数据
                if (fS_TextBox13.DefultText == "")
                {
                    WM.sendText("wrong", "输入数据与约束模式不匹配[ '代码' 不能为空].");
                    return;                    
                }
                if (fS_TextBox11.DefultText == "")
                {
                    WM.sendText("wrong", "输入数据与约束模式不匹配[ '名称' 不能为空].");
                    return;
                }

                //判断代码是否重复
                ThisData.Weigh.WeighPlaces wp=new ThisData.Weigh.WeighPlaces();
                if (wp.HasWeighPlace_CodeRepeat(fS_TextBox13.DefultText) == true)
                {
                    WM.sendText("wrong", "输入数据与约束模式不匹配[ '代码' 重复].");
                    return;
                }


                if (IsInsert == false)
                {
                    //更新数据
                    if (wp.Update_WeighPlace(treeView1.SelectedNode.Name, fS_TextBox13.DefultText, fS_TextBox11.DefultText, textBox1.Text) == true)
                    {
                        WM.sendText("right", "操作成功[称重地点'" + fS_TextBox11.DefultText + " '已保存].");

                        //刷新数据
                        Fill_TreeView();
                    }
                }
                else
                {
                    //新增数据
                    if (wp.Insert_WiighPlace(fS_TextBox13.DefultText, fS_TextBox11.DefultText, textBox1.Text) == true)
                    {
                        WM.sendText("right", "操作成功[称重地点'" + fS_TextBox11.DefultText + " '已保存].");

                        //刷新数据
                        Fill_TreeView();

                        IsInsert = false;
                    }
                }
            }
        }


这个过程如果使用,上面几个reture如果为真,执行到那里,则会结果整个程序。而我只想要结束Item_SaveData()过程,请问应该怎么办?  --------------------编程问答-------------------- 执行到return确实只是结束了Item_SaveData,只是你在Item_SaveData后面还有没有代码?
如果

static void Main()
{
 //...
 Item_SaveData(); //这是最后一个语句
} //这儿加个中断

结束了Item_SaveData当然就要马上结束Main了,如果在上边标注的地方加个中断 就能知道怎么回事了 --------------------编程问答-------------------- 就算几个 returen 都为真,但是执行第一个条件为真的returen之后就退出了,
后面的 都不执行,  --------------------编程问答-------------------- 哪个return都是退出此方法了 --------------------编程问答-------------------- 在一个方法当中最多只能执行成功一个return --------------------编程问答-------------------- 學習 --------------------编程问答-------------------- 第一个Ruturn 如果为真的话 就应该会退出这个方法了吧? 建议你单步调试下看看! --------------------编程问答--------------------
引用 1 楼 lunat 的回复:
执行到return确实只是结束了Item_SaveData,只是你在Item_SaveData后面还有没有代码? 
如果 

static void Main() 

//... 
Item_SaveData(); //这是最后一个语句 
} //这儿加个中断 

结束了Item_SaveData当然就要马上结束Main了,如果在上边标注的地方加个中断 就能知道怎么回事了


顶 --------------------编程问答-------------------- 学习  --------------------编程问答-------------------- 执行一个return就退出函数 --------------------编程问答-------------------- Item_SaveData()函数中,有一个RETURN执行,此函数就会结束
当然只是结束Item_SaveData() 函数
至于你说,整个程序都退出,应该跟你其他方法有关系 --------------------编程问答-------------------- 只执行一次return。 --------------------编程问答-------------------- 在asp.net中,可以用Return来返回
在WinForm中就不清楚了
我也想知道用什么方法可以完成
--------------------编程问答-------------------- 遇到return就会结束Item_SaveData()

你这个方法里就是什么也不写,你的程序也一样会结束,根return没有关系,是你调用Item_SaveData()方法后,没有其它程序可执行了吧 --------------------编程问答-------------------- return原来只是中断了return所在的方法!
与asp.net中的return真的有很大的区别啊!
如果进行判断后进行return,那么也只有再建个方法来调用有Retrun!
如:

public void BBB()
{
           if (tabControl1.SelectedTab == tabPage1) 
            { 
                //验证数据 
                if (fS_TextBox13.DefultText == "") 
                { 
                    WM.sendText("wrong", "输入数据与约束模式不匹配[ '代码' 不能为空]."); 
                    return;                    
                } 
                if (fS_TextBox11.DefultText == "") 
                { 
                    WM.sendText("wrong", "输入数据与约束模式不匹配[ '名称' 不能为空]."); 
                    return; 
                } 

}
public void AAA()
{
ThisData.Weigh.WeighPlaces wp=new ThisData.Weigh.WeighPlaces(); 
                if (wp.HasWeighPlace_CodeRepeat(fS_TextBox13.DefultText) == true) 
                { 
                    WM.sendText("wrong", "输入数据与约束模式不匹配[ '代码' 重复]."); 
                    return; 
                } 

}
 public void Item_SaveData() 

BBB();
 AAA();
.
.
.
.

}
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,