foreach循环中是不允许在递归中修改循环变量的。
可以换一种方式,for(int pos=0;pos<sockListCount;pos++){sockList[pos]},
即使用索引访问。
java中打印一个list集合的索引可以使用循环遍历,先取得集合的长度,然后打印出来,实例如下:
public class ceshi{public static void main(String[] args) {
List<String> list=new ArrayList<String>();
listadd("保护环境"); //向列表中添加数据
listadd("爱护地球"); //向列表中添加数据
listadd("从我做起"); //向列表中添加数据
for(int i= 0 ;i<listsize();i++){
Systemoutprintln("第"+i+"个集合的索引");
}
}
}
C#的List为泛型集合,所属命名空间:
SystemCollectionsGenericpublic class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
List<T>类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口。 泛型的好处: 它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。
一般用法如下:
1、 List的基础、常用方法,声明:
List<T> mList = new List<T>(); //T为列表中元素类型,现在以string类型作为例子List<string> mList = new List<string>();
List<T> testList =new List<T> (IEnumerable<T> collection);//以一个集合作为参数创建List string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };
List<string> testList = new List<string>(temArr);
2、添加元素:
List Add(T item);//添加一个元素ListAdd("John");
List AddRange(IEnumerable<T> collection);//添加一组元素
string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };
ListAddRange(temArr);
ListInsert(int index, T item);//在index位置添加一个元素
ListInsert(1, "Hei");
3、 遍历List中元素:
foreach (T element in mList) T的类型与mList声明时一样{
ConsoleWriteLine(element);
}
foreach (string s in mList)
{
ConsoleWriteLine(s);
}
4、删除元素:
List Remove(T item);//删除一个值mListRemove("Hunter");
List RemoveAt(int index);//删除下标为index的元素
mListRemoveAt(0);
List RemoveRange(int index, int count);//从下标index开始,删除count个元素
mListRemoveRange(3, 2);
foreach(listItem li in listBox1Items)
{
if(liselected==true)
bianliang=litext
}
这循环到最后bianliang就得到最后一个的值,我也不熟,只能想到这个比较笨的方法
你绑定的时候是怎么绑定的,给个简单的例子,如果是通过<tr>一行一行绑定的,给<tr>一个ID,在加上服务器标记如:
<table>
<asp:DataList ID="DataList1" runat="server" Width="300px" Height="200px" OnItemDataBound="DataList1_OnItemDataBound">
<ItemTemplate>
<tr id="tt1" runat="server" >
<td><%#Eval("COURSE_NAME")%></td>
</tr>
</ItemTemplate>
</asp:DataList>
</table>
后台在OnItemDataBound事件里面获取tr后给tr的ID重新赋值,在给它注册个前台脚本
HtmlTableRow tr1 = eItemFindControl("tt1") as HtmlTableRow;
tr1AttributesAdd("onclick", "tr_onclick(id)");
tr1ID = eItemItemIndexToString();
最后在前台写个脚本就行了
function tr_onclick(id)
{
var tid=idsplit('_')[2];
alert(tid);//这就算当前索引了,你要赋值就获取控件ID去赋值
}
以上就是关于C#里怎么得到List里其中一个元素的引用全部的内容,包括:C#里怎么得到List里其中一个元素的引用、java 中如何打印一个List集合的索引、c# 如何获取List中的元素,其索引大于int.MaxValue等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)