tankgoing
tankgoing
2018-05-14 09:01
采纳率: 61.3%
浏览 5.1k

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
    已采纳

    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('|');///
    
    点赞 评论
  • qq_23126581

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

    for(int i=0;i<stu.Count;i++)
    {
         int age=stu[i].stuAge;
    
    }
    
    
    点赞 评论
  • MNBVCXZSL
    Champrond 2018-05-14 09: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]; //选择的年龄

    点赞 评论
  • huachengming
    huachengming 2018-05-27 01:03

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

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

    点赞 评论

相关推荐