
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);
要从一个List中取值,可以使用get()方法来获取指定索引位置的元素。在你提供的代码中,generatePonits()方法返回的是一个String类型的List,包含多个由随机生成的坐标组成的字符串。
如果你想要在另一个方法中分别提取出两个随机数,可以先通过get()方法获取对应索引位置的坐标字符串,然后再将其解析为数字。具体步骤如下:
```java
// 获取generatePonits()方法随机生成的第一个坐标字符串,并将其解析为数字
String point1Str = generatePonits()get(0);
int x1 = IntegerparseInt(point1Strsubstring(1, point1StrindexOf(",")));
int y1 = IntegerparseInt(point1Strsubstring(point1StrindexOf(",") + 1, point1Strlength() - 1));
// 获取generatePonits()方法随机生成的第二个坐标字符串,并将其解析为数字
String point2Str = generatePonits()get(1);
int x2 = IntegerparseInt(point2Strsubstring(1, point2StrindexOf(",")));
int y2 = IntegerparseInt(point2Strsubstring(point2StrindexOf(",") + 1, point2Strlength() - 1));
```
以上代码假设你想要获取generatePonits()方法随机生成的第一个和第二个坐标,并将它们包含的x和y坐标分别解析为整数。这里使用了String类的substring()方法来截取坐标字符串中的x和y坐标部分,并用Integer类的parseInt()方法将它们解析为整数。需要注意的是,由于坐标字符串的格式是"(x,y)",因此在使用substring()方法时需要去掉开头的"("和结尾的")"。
当然,如果你仅仅只是想在generatePonits()方法和另一个方法之间传递生成的随机数,也可以考虑将它们定义为类成员变量,而不是在generatePonits()方法内部声明。这样就可以在不同的方法之间共享这些随机数了。
你绑定的时候是怎么绑定的,给个简单的例子,如果是通过<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去赋值
}
foreach(listItem li in listBox1Items)
{
if(liselected==true)
bianliang=litext
}
这循环到最后bianliang就得到最后一个的值,我也不熟,只能想到这个比较笨的方法
响应LBN_SELCHANGE消息void CIpSeeDlg::OnSelchangeList1()
{
int i=m_listGetCurSel();
CString str;
strFormat("%d",i);
MessageBox(str);
}
你绑定的时候是怎么绑定的,给个简单的例子,如果是通过一行一行绑定的,给一个id,在加上服务器标记如:
<%#eval("course_name")%>
后台在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中的元素,其索引大于int.MaxValue全部的内容,包括:c# 如何获取List中的元素,其索引大于int.MaxValue、java如何从List中取值、asp.net 点击datalist列表任何一处,怎样获取当前行的索引并把索引输出到datalist外面的label中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)