C# 使用旧值在变量类型中添加新值

C# 使用旧值在变量类型中添加新值,c#,var,C#,Var,我希望我的变量var repFolderTree用新值保存旧值 foreach (DataRow row in _dt.Rows) { string strFolderData = row["ReportFolder"].ToString(); var repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData); repFolderTree.FolderN

我希望我的变量var repFolderTree用新值保存旧值

 foreach (DataRow row in _dt.Rows)
     {

       string strFolderData = row["ReportFolder"].ToString(); 
       var repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData);
       repFolderTree.FolderName = "All Reports";
       uxAllCatalogHierarchical.Text = string.Format("<div class=\"hierarchicalCatalog\">{0}</div>", HierarchicalCatalogView(repFolderTree, 0, showFolder));
      }





 public CrissCrossLib.Hierarchical.CrcReportFolder GetAllReportsHierarchical(string username,string path)
    {
       var hierItems = GetAllReportsHierarchicalNoCache(username, path);


    m_cacheManager.AllReportsHierarchicalCacheByUsername.Add(username, hierItems);
   return hierItems;
 }





private string HierarchicalCatalogView(CrcReportFolder rootFolder, int level, string showFolder)
        {
            _dt = _ssrsDAC.GetReportListByUser(Convert.ToInt32(Session["LoginID"]));
            StringBuilder sb = new StringBuilder();
            sb.Append("<div class=\"folderBox\">");
            string scrollTo = "";
            if (PathMatch(showFolder, rootFolder.Path))
                scrollTo = " scrollToFolder";
            sb.AppendFormat("<div class=\"folderName{1}\">{0}</div>", rootFolder.FolderName, scrollTo);
            string show = "none";
            if (level == 0 || PathContains(showFolder, rootFolder.Path))
                show = "block";

            sb.AppendFormat("<div class=\"folderChildren\" style=\"display:{0}\">", show);

            foreach (CrcReportFolder subFolderLoop in rootFolder.SubFolders)
                sb.Append(HierarchicalCatalogView(subFolderLoop, level + 1, showFolder));

            foreach (CrcReportItem itemLoop in rootFolder.Reports)
            {
                string str = itemLoop.DisplayName;
                DataRow[] foundAuthors = _dt.Select("ReportName = '" + str + "'");
                if (foundAuthors.Length != 0)
                {
                    sb.Append("<div class=\"reportRow\">");
                    sb.AppendFormat("<a class=\"reportLink vanillaHover\" href=\"Report.aspx?path={0}\" >{1}</a>",
                        Server.UrlEncode(itemLoop.ReportPath), itemLoop.DisplayName);
                    if (!string.IsNullOrEmpty(itemLoop.ShortDescription))
                        sb.AppendFormat("<div class=\"reportInfo\">{0}</div>", itemLoop.ShortDescription);
                    sb.Append("<div class=\"clear\"></div></div>");
                }

               }

            sb.Append("</div></div>");
            return sb.ToString();

        }

我认为我的代码为您创造了一些场景。

您可以使用List或Collection来存储所有值,使用Add操作来添加var值

 List<object> repFolderTree = new List<object>();
 foreach (DataRow row in _dt.Rows)
     {

       string strFolderData = row["ReportFolder"].ToString(); 
       var repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData);
repFolderTree .Add(repFolderTree );
       repFolderTree.FolderName = "All Reports";
       uxAllCatalogHierarchical.Text = string.Format("<div class=\"hierarchicalCatalog\">{0}</div>", HierarchicalCatalogView(repFolderTree, 0, showFolder));
      }

你的意思是你想取出变量?或者是否要列出所有传递的值。这两个问题在这里已经被回答了一百万次。这个问题没有任何意义。请考虑重新回答这个问题,也为GetAllReportsHierarchical显示代码,返回类型是什么?要建立字符串吗?如果是这样,您可以使用StringBuilder。请发布一些你期望的结果Yes@PatrickHofman希望拉出变量,这样我就可以从这个循环井中使用它,可能你需要类似于列表的东西,其中T是GetAllReportsHierarchical的返回类型。然后-在循环的每个迭代中将项添加到列表中
 List<object> repFolderTree = new List<object>();
 foreach (DataRow row in _dt.Rows)
     {

       string strFolderData = row["ReportFolder"].ToString(); 
       var repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData);
repFolderTree .Add(repFolderTree );
       repFolderTree.FolderName = "All Reports";
       uxAllCatalogHierarchical.Text = string.Format("<div class=\"hierarchicalCatalog\">{0}</div>", HierarchicalCatalogView(repFolderTree, 0, showFolder));
      }