读书人

for 循环有关问题

发布时间: 2012-03-07 09:13:51 作者: rapoo

for 循环问题

我想要的结果是:

<provence sortId="0" name="北京">
<shop sort="0" name="一号店" address="中国北京" tel="1234567" img="images/map/shop.png" stamp="1" />
</provence>

<provence sortId="1" name="浙江">
<shop sort="0" name="一号店" address="浙江" tel="1234567" img="images/map/shop.png" stamp="1" />
</provence>
</data>
代码:

BLLC_mapone bo = new BLLC_mapone();
BLLC_maptow bt=new BLLC_maptow();
var oneshuj = bo.SelectRecordAll() ;//拿到 1级
var onequerys = from m in oneshuj select m;
var kk = bt.SelectRecordAll();

for (int x = 0; x <= (onequerys.Count());x++ )
{

string id = onequerys.Max(m=>m.Id).ToString();

var qqs = from m in kk where (m.oneid == int.Parse(id)) select m;//根据一级编号拿到 2级

Response.Write("<provence sortId=\"" + x + "\" name=\"" + onequerys.Max(m => m.Titles) + "\">");


for (int i = 0; i <= (qqs.Count()-1); i++)
{
Response.Write("<shop sort=\"0\" name=\""+qqs.Max(m=>m.name).ToString()+"\" address=\""+qqs.Max(m=>m.address).ToString()+"\" tel=\""+qqs.Max(m=>m.tel).ToString()+"\" img=\""+qqs.Max(m=>m.img).ToString()+"\" stamp=\""+(i+1)+"\" />");

}

Response.Write("</provence>");
}


输出的结果是:

<provence sortId="0" name="深圳">
<shop sort="0" name="又一家酒店" address="枫林路" tel="135135665" img="../CUFile/179006.gif" stamp="1" />
</provence>

<provence sortId="1" name="深圳">
<shop sort="0" name="又一家酒店" address="枫林路" tel="135135665" img="../CUFile/179006.gif" stamp="1" />
</provence>

<provence sortId="2" name="深圳">
<shop sort="0" name="又一家酒店" address="枫林路" tel="135135665" img="../CUFile/179006.gif" stamp="1" />
</provence>

上面的数据是对的,它这么老是输出一条数据呢?
我想根据编号匹配,没有就不输出

[解决办法]
string id = onequerys.Max(m=>m.Id).ToString();
[解决办法]

C# code
你的代码逻辑存在问题://首先onequerys.Max(m=>m.Id) 这个是固定的,所以外边的循环,每次循环取到的 id 都是相同的//则 qqs也是相同的for (int x = 0; x <= (onequerys.Count());x++ )  {      string id = onequerys.Max(m=>m.Id).ToString();  var qqs = from m in kk where (m.oneid == int.Parse(id)) select m;//根据一级编号拿到 2级 

读书人网 >.NET

热点推荐