2014-03-26 86 views
0

我有一个应用程序从文本框中读取一个整数并在数组中搜索它。如果它通过数组找到值,它必须完成剩余的计算,但是如果它找不到它(value == 0)它必须显示一条消息MessageBox.Show("This User ID Does Not Exist");并停止计算并返回以获取值(我的意思是停止执行并准备获得下一个值)。我写了下面的脚本,但是在显示消息之后它仍然继续计算,我怎么能阻止它? 有什么想法?如何停止运行代码片段?

在此先感谢。

int sc = Convert.ToInt32(txtbx_id.Text); 
int n = Convert.ToInt32(txtbx_noofrecomm.Text); 
for (int yu = 0; yu <= 92161; yu++) 
{ 
    int wer = d[yu]; 
    if (wer == sc) 
    { 
     userseq = yu; 
     break; 
    } 
} 
if (userseq == 0) 
{ 
    MessageBox.Show("This User ID Does Not Exist"); 
} 
var results = new List<float>(1143600); 
for (int z = 0; z < 1143600; z++) 
{ 
    results.Add(dotproduct(userseq, z)); 
} 
+0

当你说 “脚本” 究竟是什么意思?发布的代码是您的程序中的一项功能吗?如果是这样,显示消息框后简单地返回应该解决您的问题。 – qqbenq

回答

0

您需要return从你的函数:

if (userseq==0) 
{ 
    MessageBox.Show("This User ID Does Not Exist"); 
    return; 
} 
+0

我们实际上并不知道这是否是方法体的结尾,我想是 –

+0

你说得对,如果这不是方法的结尾,那么你的解决方案会更合适 –

0

使用else语句:

if (userseq==0) 
{ 
    MessageBox.Show("This User ID Does Not Exist"); 
} 
else 
{ 
    var results = new List<float>(1143600); 
    for (int z = 0; z < 1143600; z++) 
    { 
    results.Add(dotproduct(userseq, z)); 
    } 
}