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   Ds   Rxr 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的属性,就可以自动获取啦。
3 个月之前 回复
caozhy
caozhy bobo的方法好,又学习了。
3 个月之前 回复
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   Ds   Rxr 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 是的,循环就可以了。
3 个月之前 回复
qq_23126581
qq_23126581 这个list没有主键嘛?虽然可以通过名称去找,但是姓名可能重复,你可以User user=stu.Find(g=>g.name==stuName); int age=user.stuAge;
3 个月之前 回复
tankgoing
tankgoing 取出来会的。。要怎么对应起来才是关键啊
3 个月之前 回复
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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c#中List<Object>取出对应的值----dynamic
c#中List取出对应的值----dynamic  List types = new List();  types.Add(new { ID = item.ID, Name = item.Name, ExpireEndDate = Convert.ToDateTime(startDate).AddDays(1) });  dynamic temp = types[i];  int te
list泛型数组遍历,根据指定索引取出数据
List listDouble = new List(); for (int i = 0; i             {                 listDouble.Add(i + 1);//给list泛型数组增加值             } for (
ArrayList取值
ArrayList arrX = new ArrayList(); ArrayList arrY = new ArrayList(); for (int i = 0; i < arrX.Count; i++) { chart1.Series["Series1"].Points.AddXY(arr
List<object>添加值、取值
public static List GData = new List(); //增加值 GData.Add(new { Date = Convert.ToDateTime(DateField1.Text), Name = ComboBox1.SelectedItem.Text, NameId = Comb
有关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的嵌套List,如果添加和取值
 笔者今天遇到List嵌套List的数据,添加肯定没问题,有问题是怎么样去取值不说,直接上数据结构[[],[]]这个嵌套数据,在百度上很难找,都是教怎么取list方式,而嵌套方式取,却很少                      在这里,就说一点,将集合遍历出,在添加到所属的list里,而我的大list是用了泛型,用过泛型的,都知道谁用谁知道这样就能完成数据结构如上图一般我是这样取的,我一开始的...
三种遍历list取值方式
小编最近在项目中总结了三种遍历list的取值方式,总结一下。 第一种 public void testSelectQuestionTypeByExample1() { List list = new ArrayList(); list = questionTypeManagerFacade.selectQuestionTypeByExample();
C#中对应C++ STL
转自:http://blog.csdn.net/niewq/article/details/5374161 DotNet下的泛型容器类封装在System.Collections.Generic,使用的十分广泛。C++则靠STL实现了泛型容器与算法。下面对二者做一个对比,只谈用法,不深究原理。对比的内容有数组、链表和字典三种结构。 一、数组 C#使用List,C++用的是std::ve
取List<Object>的值
人                                                                                                        中的value为你的List,id 也可写为var.