foreach 的只读属性

/// <summary>
         /// 获得表中不含列名id的所有列名
         /// </summary>
         /// <param name="dtCols"></param>
         /// <returns></returns>
         private static string[] GetColsWithoutId(DataTable dtCols)
         {
             List<string> list = new List<string>();
             list.AddRange(GetCols(dtCols));
             foreach (string colname in list)
             {
                 if (colname.Equals("id", StringComparison.CurrentCultureIgnoreCase))
                 {
                     list.Remove(colname);//foreach是只读的,在取的时候数据不能变(包括修改,删除,添加等)--避免出现错误:集合已修改;可能无法执行枚举操作
                 }
             }
             return list.ToArray();
         } 

 

posted on 2013-06-26 10:09  joker[xie]  阅读(784)  评论(0编辑  收藏  举报