如何在c#中将列表合并为单个数据实体

本文关键字:合并 单个 数据 实体 列表 | 更新日期: 2023-09-27 18:28:45

我在c#web服务中有一个web方法,它创建了三个列表,这些列表是由xml输入填充的。我想将这三个列表组合成一个实体(数据集是最好的,因为使用此web服务的iOS应用程序已经编程为接受和解析数据集),并从web方法返回它们。

以下是我的代码当前的样子:

[WebMethod]
public DataSet SelectObjects(string ExternalID, string Password)
{
     DataSet ds = new DataSet();
     MembershipAuthServiceReference.MembershipAuthenticationService objService = new MembershipAuthServiceReference.MembershipAuthenticationService();
     MembershipAuthServiceReference.SoapHeaderCredentials objSoapHeader = new MembershipAuthServiceReference.SoapHeaderCredentials();
     MembershipAuthServiceReference.MemberUserInfo objMemberInfo = new MembershipAuthServiceReference.MemberUserInfo();
     try
     {
         objSoapHeader.UserName = ExternalID;
         objSoapHeader.Password = Password;
         objMemberInfo = objService.GetMembershipInfo();
         List<Obj1> ListObj1 = new List<Obj1>();
         for (int i = 0; i < objMemberInfo.Obj1.Length; i++)
         {
             Obj1 obj_Obj1 = new Obj1();
             obj_Obj1.Stuff = objMemberInfo.Obj1[i].Stuff.ToString();
             ListObj1.Add(obj_Obj1);
         }
         List<Obj2> ListObj2 = new List<Obj2>();
         for (int i = 0; i < objMemberInfo.Obj2.Length; i++)
         {
             Obj2 obj_Obj2 = new Obj2();
             obj_Obj2.Stuff = objMemberInfo.Obj2[i].Stuff.ToString();
             ListObj2.Add(obj_Obj2);
         }
         List<Obj3> ListObj3 = new List<Obj3>();
         for (int i = 0; i < objMemberInfo.Obj3.Length; i++)
         {
             Obj3 obj_Obj3 = new Obj3();
             obj_Obj3.Stuff = objMemberInfo.Obj3[i].Stuff.ToString();
             ListObj3.Add(obj_Obj3);
         }
     }
     catch (Exception ex)
     {
         string sError;
         sError = ex.Message.ToString();
     }
     return ds;
}

如何将这些列表组合到数据集中?我想这是可能的?如果没有,是否有可行的替代方案可以做同样的事情?

如何在c#中将列表合并为单个数据实体

首先按如下所示连接列表,然后使用链接生成数据集

 var combinedList= ListObj1.Concat(ListObj2).Concat(ListObj3); 

如何转换列表<T>进入数据集?