一个List集合中包括好几个list,怎么把List集合中的几个List给取出来

CapAvenger 2014-07-11 02:52:28

for (int i = 0; i < dt.Rows.Count; i++)
{
UserList.Add(dt.Rows[i][0].ToString());
}
List.AddRange(UserList);


我要怎么取出List集合里的UserList呢?
...全文
7925 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
BUG_攻城狮 2018-08-04
  • 打赏
  • 举报
回复
引用 8 楼 Z65443344 的回复:
而返回只能返回一个List
返回几个LIST不是你自己定义的么,改成LIST[ ],直接返回5个LIST不就得了...

java中每次只能返回一个值
玉临风 2016-01-13
  • 打赏
  • 举报
回复
玉临风 2016-01-13
  • 打赏
  • 举报
回复
成功[u][/u]
玉临风 2016-01-13
  • 打赏
  • 举报
回复
CapAvenger 2014-07-12
  • 打赏
  • 举报
回复
引用 10 楼 caozhy 的回复:
string[] all = UserList.SelectMany(x => x).ToArray();
帮忙看下我上面贴出的代码,我这是初学~~~
CapAvenger 2014-07-12
  • 打赏
  • 举报
回复
引用 8 楼 Z65443344 的回复:
而返回只能返回一个List 返回几个LIST不是你自己定义的么,改成LIST[ ],直接返回5个LIST不就得了...

        public List<EQMSItem> GetGenerList(string Type, string User, string EQMS_ID)
        {
            //LogOnInfo Item= new LogOnInfo();
            List<EQMSItem> List = new List<EQMSItem>();
            List<EQMSItem> UserList = new List<EQMSItem>();
            List<EQMSItem> UnMarkIDList = new List<EQMSItem>();
            List<EQMSItem> .....
            
            this.spName = "abc";
            SqlParameter[] paras = new SqlParameter[3];
            paras[0] = new SqlParameter("@Type", SqlDbType.VarChar, 50) { Value = Type };
            paras[1] = new SqlParameter("@User", SqlDbType.VarChar, 50) { Value = User };
            paras[2] = new SqlParameter("@EQMS_ID", SqlDbType.VarChar, 50) { Value = EQMS_ID };
            DataSet ds = this.Execute(paras, null);

            DataTable dt = ds.Tables[0];
            DataTable dt1 = ds.Tables[1];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                UserList.Add(new EQMSItem()
                {
                    UserID = dt.Rows[i][0].ToString()
                });
            }
            List.AddRange(UserList);

            for (int i = 0; i < dt1.Rows.Count; i++)
            {
                UserList.Add(new EQMSItem()
                {
                    UnMarkID = dt1.Rows[i][0].ToString()
                });
            }
            List.AddRange(UnMarkIDList);

            return List;
这是我的DAL层的执行存储的写法,我是希望返回5个List的,比如UserList和UnMarkList一起返回

        public List<EQMSItem> GetGenerList(string Type, string User, string EQMS_ID)
        {
            return dal.GetGenerList(Type, User, EQMS_ID);
        }
这是我DLL层的,怎么返回5个List呢

        public ICommand SelectionChangedCommand
        {
            get
            {
                return new RelayCommand
                (
                    () =>
                    {

                        // BaseInfo.GetGenerList("User", User, "");               
                      
                    }
                );
            }
        }
怎么在ViewModel返回五个List呢,能返回的话我就好绑定了
CapAvenger 2014-07-12
  • 打赏
  • 举报
回复
我知道,感谢各位
threenewbee 2014-07-11
  • 打赏
  • 举报
回复
string[] all = UserList.SelectMany(x => x).ToArray();
於黾 2014-07-11
  • 打赏
  • 举报
回复
List<EQMSItem>[ ] UserList = new List<EQMSItem>[5]; for(int i=0;i<5;i++) { UserList[i]=new new List<EQMSItem>(); }
於黾 2014-07-11
  • 打赏
  • 举报
回复
而返回只能返回一个List 返回几个LIST不是你自己定义的么,改成LIST[ ],直接返回5个LIST不就得了...
CapAvenger 2014-07-11
  • 打赏
  • 举报
回复
引用 6 楼 a402485188 的回复:
5个table 换成5个实体类吧,直接对对象进行操作,List<类> 这样子就不是字符串了,是各自的对象类了, 直接循环 你要取哪个类就取哪个类,还是做成对对象操作吧

    List<EQMSItem> UserList = new List<EQMSItem>();
。。。。
           for (int i = 0; i < dt.Rows.Count; i++)
            {
                UserList.Add(new EQMSItem()
                {
                    UserID = dt.Rows[i][0].ToString()
                });
            }
            List.AddRange(UserList)
我用的泛型
a402485188 2014-07-11
  • 打赏
  • 举报
回复
5个table 换成5个实体类吧,直接对对象进行操作,List<类> 这样子就不是字符串了,是各自的对象类了, 直接循环 你要取哪个类就取哪个类,还是做成对对象操作吧
CapAvenger 2014-07-11
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
List.AddRange 等价于 foreach(string str in userlit) { List.Add(str); } 并不是集合里面还有集合,仅仅是追加到后面了
是的哦,所以很郁闷 因为我在DAL层的时候执行的存储返回5个Table,我就放到了5个List中,而返回只能返回一个List,我就又AddRange到一个统一的List里了,可是我有五个控件需要分别绑定这五个List,怎么办呢? 我不想用DateSet返回,因为这样Binding的时候我得在xaml.cs写SourceItem=ds.Table.DefaultView,我想写在Viewmodel.cs,又没有combox。SourceItem=。。。 求指教怎么写?或者DataSet的其他绑定方法
CapAvenger 2014-07-11
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
都是字符串,没法区分,自己找到符合条件的索引处,挨个取
PF 因为我在DAL层的时候执行的存储返回5个Table,我就放到了5个List中,而返回只能返回一个List,我就又AddRange到一个统一的List里了,可是我有五个控件需要分别绑定这五个List,怎么办呢? 我不想用DateSet返回,因为这样Binding的时候我得在xaml.cs写SourceItem=ds.Table.DefaultView,我想写在Viewmodel.cs,又没有combox。SourceItem=。。。 求指教怎么写?或者DataSet的其他绑定方法
於黾 2014-07-11
  • 打赏
  • 举报
回复
List.AddRange 等价于 foreach(string str in userlit) { List.Add(str); } 并不是集合里面还有集合,仅仅是追加到后面了
exception92 2014-07-11
  • 打赏
  • 举报
回复
每次Add完,追加一个分割符号(比如逗号), 再根据分割符号获取string[]
bdmh 2014-07-11
  • 打赏
  • 举报
回复
都是字符串,没法区分,自己找到符合条件的索引处,挨个取

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧