2013-07-19 115 views
0

我有一个数据表,我想循环遍历行并创建一个zipCode数组。这个问题,我只得到一个数字4倍。我知道我做错了什么,但有人可以向我指出并给出解释。Foreach循环正确

感谢

public string bindMap() 
{ 

    using (dal.Sys.RegionTableAdapters.region_countyListTa ta = new Cea.WebApp.JobsEq.Dal.Sys.RegionTableAdapters.region_countyListTa()) 
    { 
     List<string> code = new List<string>(); 

     dal.Sys.Region.region_countyListDataTable dt = ta.GetData(region.RegionType, region.RegionCode); 
     foreach (var row in dt) 
     {     
      code.Add(region.ZipCode);     

     }//end foreach loop 

     string codes = string.Join(",", code.ToArray()); 
     return codes.ToString(); 


    }//end for each loop   
}//end bind map 
+2

请标记你的问题与语言。 – Barmar

+0

抱歉关于该c# –

回答

6

你不使用你与迭代变量。

foreach (var row in dt) 
    {     
     //Not sure how you will get ZipCode from the ROW, but you get the idea. 
     code.Add(row["ZipCode"]);     

    }//end foreach loop 
+0

+1除非...在这里我在这里... _iterating_一个'dal.Sys.Region.region_countyListDataTable'有副作用,'region.ZipCode'得到更新。 [或者...](http://a0.twimg.com/profile_images/1719734609/ancient-aliens-guy.png) –

+0

谢谢改变它,发现有一些其他问题正在进行,但这工作 –

0

作为行/单元格值的一般内容描述,我使用这种一般(注:GENERAL)块:

foreach(var item : items) { 
//before adding there is maybe some casting or other work... 
    listName.add(item["FieldName"]); 
} 

可以理解的是,LISTNAME是类型fieldNameType的