2014-03-28 166 views
-5

以下代码仅显示The ID Does Not Exist作为结果。可能是什么问题?for循环不起作用

int sc = Convert.ToInt32(txtbx_id.Text); 
int n = Convert.ToInt32(txtbx_noofrecomm.Text); 
bool shart = false; 
for (int yu = 0; yu <= 92161; yu++) 
{ 
    int wer = d[yu]; 
    if (wer == sc) 
    { 
     shart = true; 
     userseq = yu; 
     var results = new List<float>(1143600); 
     for (int z = 0; z < 1143600; z++) 
     { 
      results.Add(dotproduct(userseq, z)); 
     } 
     var sb1 = new StringBuilder(); 
     foreach (var resultwithindex in results.Select((r, index) => new { result = r, Index = index }).OrderByDescending(r => r.result).Take(n)) 
     { 
      sb1.AppendFormat(CultureInfo.InvariantCulture, "{0}: {1}", c[resultwithindex.Index], resultwithindex.result); 
      sb1.AppendLine(); 
     } 
     MessageBox.Show(sb1.ToString()); 
    } 
} 
if (shart == false) 
{ 
    MessageBox.Show("The ID Does Not Exist"); 
} 
+1

尝试通过它。 – Blorgbeard

+0

当您不向我们展示d []包含的内容或如何加载时,我们该如何判断出现了什么问题 –

+4

这是您在同一段代码中挣扎的第四篇文章。请坐下来,浏览一下你的代码,真正想想你在做什么。开始的一个好地方是以一种让他们的目的更明显的方式命名变量,而不是'd','yu','wer'和'sc'。 –

回答

3

d[]没有什么等于sc

+0

否@ Khanzor。当我删除该消息它正常工作。问题是与消息 – user3446681

+2

真的吗?所以当你删除消息它不显示消息?这很有趣 –

+0

不,我的意思是结果是正确的,d []不是空的@ Selman22 – user3446681

0

尝试删除第二个If语句,然后将第一个if语句放入If-Else中。因此,您可以在将来有效地测试您的数据。然后,您可以将shart设置为false,然后显示messagebox。

if (wer == sc) 
{ 
    shart = true; 
    userseq = yu; 
    var results = new List<float>(1143600); 
    for (int z = 0; z < 1143600; z++) 
     { 
     results.Add(dotproduct(userseq, z)); 
     } 
    var sb1 = new StringBuilder(); 
    foreach (var resultwithindex in results.Select((r, index) => new { result = r, Index = index }).OrderByDescending(r => r.result).Take(n)) 
     { 
     sb1.AppendFormat(CultureInfo.InvariantCulture, "{0}: {1}", c[resultwithindex.Index], resultwithindex.result); 
     sb1.AppendLine(); 
     } 
    MessageBox.Show(sb1.ToString()); 
}else{ 
     shart = false; 
     MessageBox.Show("The ID Does Not Exist"); 
} 
+0

既然你说的数据是正确的,我们只能看到你给我们的。我假设你说,当你删除底部if语句,你的数据对于d [] = sc是正确的,那么所有东西都可以工作。 – CeFu