Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请告诉我如何加载列表<;数据集>;要列出的第一个数据集值的数量<;人>;_C#_Asp.net_Generics - Fatal编程技术网

C# 请告诉我如何加载列表<;数据集>;要列出的第一个数据集值的数量<;人>;

C# 请告诉我如何加载列表<;数据集>;要列出的第一个数据集值的数量<;人>;,c#,asp.net,generics,C#,Asp.net,Generics,我正在尝试将值从列表加载到列表 我已经编写了以下代码,但不确定下一步该怎么做 public List<Person> AddressFinderBLL_GetAddressbyName(String pfname,) { List<Person> Per= new List<Person>(); List<DataSet> lstPer = new List<DataSet>(); lstPer = Adal

我正在尝试将值从
列表
加载到
列表

我已经编写了以下代码,但不确定下一步该怎么做

public List<Person> AddressFinderBLL_GetAddressbyName(String pfname,)
{ 
    List<Person> Per= new List<Person>();
    List<DataSet> lstPer = new List<DataSet>(); 
    lstPer = Adal.AddressFinderDAL_GenerateDatabyName(
      pfname, pfnameval, plname, plnameval);
      //here List<Dataset> lstPer loaded with values from back end foreach(DataRow item in lstPer[0].Tables[0].Rows)
{
    // here i need to assign the values to List<Person> from List<Dataset>[0].tables[0].rows; 
}                           
}请让我知道

也许(我不知道您表格中的列):

Per=(来自lstPer中的ds)
来自ds.Tables[0]中的行。AsEnumerable()
选择新人员(){
FirstName=行字段(“FirstName”),
MiddleName=行字段(“MiddleName”)
}).ToList();
请注意,您需要使用system.Linq添加
,因为上面是一个Linq查询(Linq到数据集)。

可能(我不知道表中的列):

Per=(来自lstPer中的ds)
来自ds.Tables[0]中的行。AsEnumerable()
选择新人员(){
FirstName=行字段(“FirstName”),
MiddleName=行字段(“MiddleName”)
}).ToList();

请注意,您需要使用system.Linq添加
,因为上面是一个Linq查询(Linq到数据集)。

我不知道您的数据集有哪些列名,但这里有一个近似值:

List<Person> pers = lstPer[0].Tables[0].AsEnumerable().
                    Select(r=> new Person() { 
                        FirstName = r.Field<string>("fieldname1"),
                        MiddleName = r.Field<string>("fieldname2")
                    })
                    .ToList();
List pers=lstPer[0]。表[0]。AsEnumerable()。
选择(r=>newperson(){
FirstName=r.Field(“fieldname1”),
MiddleName=r.Field(“fieldname2”)
})
.ToList();

顺便说一句,返回数据集列表的方法似乎不太可能。你确定那部分是对的吗?可能它返回一个包含多个表的数据集?

我不知道您的数据集有哪些列名,但这里有一个近似值:

List<Person> pers = lstPer[0].Tables[0].AsEnumerable().
                    Select(r=> new Person() { 
                        FirstName = r.Field<string>("fieldname1"),
                        MiddleName = r.Field<string>("fieldname2")
                    })
                    .ToList();
List pers=lstPer[0]。表[0]。AsEnumerable()。
选择(r=>newperson(){
FirstName=r.Field(“fieldname1”),
MiddleName=r.Field(“fieldname2”)
})
.ToList();

顺便说一句,返回数据集列表的方法似乎不太可能。你确定那部分是对的吗?也许它返回一个包含多个表的数据集?

全部来自内存,所以YMMV,但我希望它是

public List<Person> AddressFinderBLL_GetAddressbyName(String pfname,)
{
   List<Person> Per= new List<Person>();
   List<DataSet> lstPer = new List<DataSet>();
   lstPer = Adal.AddressFinderDAL_GenerateDatabyName(pfname, pfnameval, plname, plnameval);
   //here List<Dataset> lstPer loaded with values from back end 
foreach(DataRow item in lstPer[0].Tables[0].Rows)
       {
              // here i need to assign the values to List<Person> from List<Dataset>[0].tables[0].rows; 
          var p = new Person();
//it isn't clear what structure item will have. let's assume that it has 2 columns. one is         //firstname and the other is last name 
          p.FirstName = item[0];
          p.Middlename = item[1];
          Per.Add(p);
       } 
公共列表地址finderbll\u GetAddressbyName(字符串pfname,)
{
List Per=新列表();
List lstPer=新列表();
lstPer=Adal.AddressFinderDAL_GenerateDatabyName(pfname,pfnameval,plname,plnameval);
//这里列出从后端加载值的lstPer
foreach(lstPer[0]中的DataRow项。表[0]。行)
{
//在这里,我需要将列表[0]中的值分配给列表。表[0]。行;
var p=新人();
//不清楚项将具有什么结构。让我们假设它有两列。一列是//firstname,另一列是last name
p、 FirstName=项目[0];
p、 Middlename=项目[1];
每增加(p);
} 

但是根据其他答案,你可以通过阅读LINQ!

从记忆中获得更多,所以我希望是这样

public List<Person> AddressFinderBLL_GetAddressbyName(String pfname,)
{
   List<Person> Per= new List<Person>();
   List<DataSet> lstPer = new List<DataSet>();
   lstPer = Adal.AddressFinderDAL_GenerateDatabyName(pfname, pfnameval, plname, plnameval);
   //here List<Dataset> lstPer loaded with values from back end 
foreach(DataRow item in lstPer[0].Tables[0].Rows)
       {
              // here i need to assign the values to List<Person> from List<Dataset>[0].tables[0].rows; 
          var p = new Person();
//it isn't clear what structure item will have. let's assume that it has 2 columns. one is         //firstname and the other is last name 
          p.FirstName = item[0];
          p.Middlename = item[1];
          Per.Add(p);
       } 
公共列表地址finderbll\u GetAddressbyName(字符串pfname,)
{
List Per=新列表();
List lstPer=新列表();
lstPer=Adal.AddressFinderDAL_GenerateDatabyName(pfname,pfnameval,plname,plnameval);
//这里列出从后端加载值的lstPer
foreach(lstPer[0]中的DataRow项。表[0]。行)
{
//在这里,我需要将列表[0]中的值分配给列表。表[0]。行;
var p=新人();
//不清楚项将具有什么结构。让我们假设它有两列。一列是//firstname,另一列是last name
p、 FirstName=项目[0];
p、 Middlename=项目[1];
每增加(p);
} 

但是根据其他答案,你可以从LINQ周围的一点阅读中获得更多信息!

是的,我想知道如何继续是的,我想知道如何继续further@salvaanand:如果希望第一个数据集中第一个表的人员,则此选项正确。如果希望所有数据集中第一个表的人员,则此选项正确。@TimSchmelter注释掉的代码说“需要从列表[0]。表[0]。行中为列表分配值”所以我假设这只是第一个。但是你的假设可能更安全。@AnnL:是的,我后来看到了。但是因为你已经添加了你的答案,我还没有编辑我的答案。所以OP有选择权。@salvaand:如果你想要第一个数据集中第一个表的人,这是正确的。如果你想要第一个选项卡的人,这是正确的“所有数据集中的值都是le。@TimSchmelter注释掉的代码说“需要从列表[0]。表[0]。行中为列表分配值”所以我认为这只是第一个。但是你的假设可能更安全。@AnnL:是的,我后来看到了。但是因为你已经添加了你的答案,我还没有编辑我的答案。所以OP有选择。感谢大家@Paul D'Ambra,Tim schmelter,Ann L的支持,但我无法使用方法AsEnumerable()尽管我包含了名称空间system.Data.DataSetExtensions,但它在paul D'Ambra代码中运行良好感谢所有人@Tim schemelter,Ann L,它现在运行良好,因为我已使用lstper[0]更正了我的错误。表[0]。可计算,但之前我检查了lstper[0]。表[0]。行。可计算()我想告诉大家,所有3个人的代码都很有用,感谢大家@Paul D'Ambra、Tim schmelter、Ann L的支持,但我无法使用方法AsEnumerable()尽管我包含了名称空间system.Data.DataSetExtensions,但它在paul D'Ambra代码中运行良好感谢所有人@Tim schemelter,Ann L,它现在运行良好,因为我已使用lstper[0]更正了我的错误。表[0]。可计算,但之前我检查了lstper[0]。表[0]。行。可计算()我想告诉你所有3个人的代码都很有用