如何将字符串名称连接到ListName

时间:2014-05-02 05:44:22

标签: c#

我有一个带有一些listNames的课程 我想动态地将字符串连接到ListName,如List1, List2,因为我已经在另一个类中声明了List1, List2

for (i=1; i <= staffsT; i++)
{
    if (dgOut.Data.InstDigitalDetails.digitStaffDetails.Count > (staffRows)*i)
    {
        List<DigitStaffDetails> stafDt = new List<DigitStaffDetails>();
        stafDt = (from r in dgOut.Data.InstDigitalDetails.digitStaffDetails  select r).Take(staffRows*i).ToList(); 


         string listName = "dgOut.Data.InstDigitalDetails.digitStaffDetails" + i.ToString();

         //here want to type cast string name to objectName 
         listName= staffDt;                        
      }
 }

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

根据您的代码,我认为您可以使用linq轻松生成列表名称

    IEnumerable<int> range = Enumerable.Range(1, staffsT);
    IEnumerable<string> listNames = range.Select(i => "dgOut.Data.InstDigitalDetails.digitStaffDetails" + i);

结果枚举将是连接列表名称。

  

dgOut.Data.InstDigitalDetails.digitStaffDetails1

     

dgOut.Data.InstDigitalDetails.digitStaffDetails2

     

...

     

dgOut.Data.InstDigitalDetails.digitStaffDetailsN

这只是一个示例实现,您可以根据您的使用情况进行调整。