2014-03-26 83 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)); 
    } 
}