Asp.net foreach循环问题
branch属于复选框列表类型,但在循环执行此操作时,它只添加了一项,而我希望在branch_id中存储所有“li”,并希望稍后重试为什么它不在branch_is中添加所有内容。是否有任何其他选项可以将所有这些添加到变量branch_idAsp.net foreach循环问题,asp.net,Asp.net,branch属于复选框列表类型,但在循环执行此操作时,它只添加了一项,而我希望在branch_id中存储所有“li”,并希望稍后重试为什么它不在branch_is中添加所有内容。是否有任何其他选项可以将所有这些添加到变量branch_id foreach (ListItem li in branch.Items) { if(li.Selected) {
foreach (ListItem li in branch.Items)
{
if(li.Selected)
{
List<int> branch_id = new List<int>();
branch_id.Add(Convert.ToInt32(li.Value));
}
}
foreach(在branch.Items中列出项目li)
{
如果(li.选定)
{
列表分支_id=新列表();
分支id.Add(转换为32(li.Value));
}
}
试试这个
List<int> branch_id = new List<int>();
foreach (ListItem li in branch.Items)
{
if(li.Selected)
{
branch_id.Add(Convert.ToInt32(li.Value));
}
}
List branch_id=newlist();
foreach(在branch.Items中列出项目li)
{
如果(li.选定)
{
分支id.Add(转换为32(li.Value));
}
}
如果您使用的是.NET3.5或更高版本,并且可以使用LINQ,也可以使用这个
List<int> branch_id = branch.Items.Where(li=>li.Selected).Select(li=>li.Value).ToList();
List branch\u id=branch.Items.Where(li=>li.Selected).选择(li=>li.Value).ToList();
您无需初始化列表分支\u id=new List()代码>再次
如果初始化,它将为分支id创建一个新实例,并清除所有当前值
foreach (ListItem li in branch.Items)
{
if(li.Selected)
{
List<int> branch_id = new List<int>(); // during each time it loops it create new memory and you can't save all the values
branch_id.Add(Convert.ToInt32(li.Value));
}
}
so do
List<int> branch_id = new List<int>();
foreach (ListItem li in branch.Items)
{
if(li.Selected)
{
branch_id.Add(Convert.ToInt32(li.Value));
}
}
foreach(在branch.Items中列出项目li)
{
如果(li.选定)
{
List branch_id=new List();//每次循环时,它都会创建新内存,而您无法保存所有值
分支id.Add(转换为32(li.Value));
}
}
我也是
列表分支_id=新列表();
foreach(在branch.Items中列出项目li)
{
如果(li.选定)
{
分支id.Add(转换为32(li.Value));
}
}
I曾经允许我使用LINQ简化选择:
var branch_id = branch.Items.WhereSelected().Select(i => Convert.ToInt32(i.Value)).ToList()
哦,我的天哪,每次一个新的物体被创造出来时,我都会用2。哦,是的,我想这不起作用。你的回答也很有帮助。谢谢