2 tankgoing tankgoing 于 2018.05.14 17:01 提问

c#中list要怎么取值对应起来

我有一个list 比如有3个学生 学生有名字性别年龄 我在DropDownList里显示学生的名字 然后取一个值很方便 当时我显示的是名字 然后selectedavlue是性别 现在请问我要取到年龄 那我应该怎么写才能对应起来。。。

//stu是个list包含stuName,stuSex,stuAge
string[] stuNameList=stu.Select(x=>x.stuName).ToArray();
string[] stuSexList=stu.Select(x=>x.stuSex).ToArray();
for(int i=0;i<stuNameList..Count;i++){
 DrodDownList1.Items.Add(new ListItem(stuNameList[i],stuSexList[i]));

4个回答

showbo
showbo   2018.05.14 17:40
已采纳

ListItem的value多增加年龄值,用|分隔开就可以一次取数据了

 string[] stuNameList=stu.Select(x=>x.stuName).ToArray();
string[] stuSexList=stu.Select(x=>x.stuSex).ToArray();
string[] stuAgeList=stu.Select(x=>x.stuAge).ToArray();
for(int i=0;i<stuNameList..Count;i++){
 DrodDownList1.Items.Add(new ListItem(stuNameList[i],stuSexList[i]+"|"+stuAgeList));

 ===>取值
string []arr=DrodDownList1.SelectedItem.Value.Split('|');///
caozhy
caozhy lz另外可以看看displaymember和valuemember属性,分别设置为学生名字、id的属性,就可以自动获取啦。
5 个月之前 回复
caozhy
caozhy bobo的方法好,又学习了。
5 个月之前 回复
MNBVCXZSL
MNBVCXZSL   2018.05.14 17:38

selectedavlue可以加年龄加性别 用分隔符隔开。
string[] stuAgeList=stu.Select(x=>x.stuAge).ToArray();
DrodDownList1.Items.Add(new ListItem(stuNameList[i],stuSexList[i]+"|"+stuAgeList[i]));

string[] SexAge=value.Split('|');
string selectedSex= SexAge[0]; //选择的性别
string selectedAge= SexAge[1]; //选择的年龄

qq_23126581
qq_23126581   2018.05.14 17:13

stu是个list是吧,也就是List stu了,对吧?user是实体类,那么只需循环,

for(int i=0;i<stu.Count;i++)
{
     int age=stu[i].stuAge;

}

caozhy
caozhy 是的,循环就可以了。
5 个月之前 回复
qq_23126581
qq_23126581 这个list没有主键嘛?虽然可以通过名称去找,但是姓名可能重复,你可以User user=stu.Find(g=>g.name==stuName); int age=user.stuAge;
5 个月之前 回复
tankgoing
tankgoing 取出来会的。。要怎么对应起来才是关键啊
5 个月之前 回复
huachengming
huachengming   2018.05.27 09:03

你的stu对象student
你对对象显示到你的DrodDownList1的时候
var item = new ListItem(stuNameList[i],stuSexList[i]+"|"+stuAgeList)
item.Tag=stu对象

取的时候直接取选中的item的tag as student
就是你要的对象了·

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
List的嵌套List,如果添加和取值
 笔者今天遇到List嵌套List的数据,添加肯定没问题,有问题是怎么样去取值不说,直接上数据结构[[],[]]这个嵌套数据,在百度上很难找,都是教怎么取list方式,而嵌套方式取,却很少                      在这里,就说一点,将集合遍历出,在添加到所属的list里,而我的大list是用了泛型,用过泛型的,都知道谁用谁知道这样就能完成数据结构如上图一般我是这样取的,我一开始的...
有关C#中的List的用法集合(仅是个人统计)
List的方法隶属的命名空间System.Collections.Generic List的方法和属性 作用: Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时,这个值会自动增长。您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以适合实际的元素数目。 Count 属性,用于获取数组中当前元素数量 Item( ) 通过指定索引获取或设置元素。对于
C#创建List存放匿名对象、遍历List、泛值取值
List list = new List(); var so2avg = new { LHCodeID = "ZB2_Avg", ParamName = "二氧化硫(Avg)" }; var so2ZsAvg = new { LHCodeID = "ZB2_ZsAvg", ParamName = "二氧化硫(ZsAvg)" }; list.Add(so2avg); list.Add(so2ZsAv
List<object>添加值、取值
public static List GData = new List(); //增加值 GData.Add(new { Date = Convert.ToDateTime(DateField1.Text), Name = ComboBox1.SelectedItem.Text, NameId = Comb
Java中List集合的遍历
一、对List的遍历有三种方式            List    list    =    new    ArrayList();       list.add("testone");       list.add(“testtwo”);       ...            第一种:       for(Iterator    it    =    list.iterat
java 中如何从LIST 对象取值
java 中如何从LIST 对象取值
java如何从List中取值
java如何从List中取值  分享| 2013-06-30 22:35jhckn2 | 浏览 7403 次  java编程语言编程 在下面这个发方法里,生成了两个随机数 public List generatePonits() { List pointList = new ArrayList(); Random random = new Random(); f
C#中对应C++ STL
转自:http://blog.csdn.net/niewq/article/details/5374161 DotNet下的泛型容器类封装在System.Collections.Generic,使用的十分广泛。C++则靠STL实现了泛型容器与算法。下面对二者做一个对比,只谈用法,不深究原理。对比的内容有数组、链表和字典三种结构。 一、数组 C#使用List,C++用的是std::ve
取object对像中的数据
List resultList = mdmWritebackDao.getEsolutionCallData(esolutionCall, indexOf, pageSize); for (Object obj : resultList) { Object[] objs = (Object[]) obj; String param1 = (String) objs[0]; S
使用list()函数来遍历数组并取值
list()函数遍历数组并取值的优势介绍及注意事项