`
ronon
  • 浏览: 192767 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

疑问...........

 
阅读更多

如果我有一个DataSet

里面有一表三列一行

现在我要循环这个DS第一个表里的行

并改变第三列的值,

循环结束后

再次循环,这次只是输出它们的值

值会改变吗?

 为了证明这个问题,写了这些代码:

 

 

            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            dt.Columns.AddRange(new DataColumn[] { new DataColumn("a"), new DataColumn("b"), new DataColumn("c") });
            DataRow dr = dt.NewRow();
            dr["a"] = 1;
            dr["b"] = 2;
            dr["c"] = 3;
            dt.Rows.Add(dr);
            ds.Tables.Add(dt);

            foreach (DataRow r in dt.Rows)
            {
                string a = r["a"].ToString();
                string b = r["b"].ToString();
                string c = r["c"].ToString();

                dr["a"] = 111;
            }

            foreach (DataRow r in dt.Rows)
            {
                string a = r["a"].ToString();
                string b = r["b"].ToString();
                string c = r["c"].ToString();
                MessageBox.Show(a + "|" + b + "|" + c);
            }

事实证明,它最后会输出"111|2|3"

值是会改变的

想象中当该列该行的值改变后,应该要重新将该行赋值给这个DataTable

并把这个DataTable重新赋值给DataSet

然后再次循环值才会改变

 

------------

 

如果是HashTable 呢,改变其中某个Value,值也会变吗?

于是写了这些

 

            Hashtable ht = new Hashtable();
            ht.Add("a", "a");
            ht.Add("b","b");

            foreach (string str in ht.Keys)
            {
                if (str == "b")
                {
                    ht[str] = "bb";
                }
            }


            foreach (string str in ht.Keys)
            {
                  MessageBox.Show(str +"|" +ht[str].ToString());
            }

 

 调试时报错:“集合已修改;可能无法执行枚举操作。”

看来Hashtable在循环时是无法修改其值的(修改、删除都不可以)

 而DataSet是可以的?

 

 

 

分享到:
评论

相关推荐

    线性规划常见疑问.doc

    线性规划常见疑问.doc

    各海关答企业关于外发加工的疑问.pdf

    各海关答企业关于外发加工的疑问.pdf

    如何培养执行力及解决管理者的疑问.pptx

    如何培养执行力及解决管理者的疑问.pptx

    xlsx.full.min.js

    如果你在使用过程中遇到任何疑问,可以查阅官方文档或在线社区寻求帮助。 总的来说,`xlsx.full.min.js`作为一个优秀的JavaScript Excel处理库,为前端开发者提供了一种高效、灵活的方式来处理Excel文件,大大简化...

    网上开店工具......

    1. 客服工具:淘宝旺旺是必备的在线客服工具,用于即时解答顾客疑问,提高转化率。 2. 评价管理:积极回应顾客评价,尤其是差评,改善服务,提升店铺信誉。 3. 会员管理:建立会员制度,通过积分、优惠等方式鼓励...

    疑问句大全_一般疑问句.doc

    疑问句大全_一般疑问句.doc

    填入所缺的疑问词.doc

    在英语语法中,疑问词是构成特殊疑问句的关键元素,它们用于询问具体信息,如事物、时间、地点、方式、原因等。以下是对给定内容的详细解释: 一、填入所缺的疑问词 1. 为什么(Why)你喜欢夏天?因为我可以游泳。...

    CPU选购疑问解答.pdf

    CPU选购疑问解答.pdf

    ASP搜索引擎蜘蛛爬行日志生成程序.rar

    更多的seo工具包请登录我的博客或者联系Q:...如果有什么疑问请登录博客留言,程序员百味非常高兴能认识一位做seo的朋友!希望我们能一起努力! come on! believe yourself! 程序员百味博客:www.bywei.cn/blog

    英语一般疑问句与特殊疑问句.ppt

    英语一般疑问句与特殊疑问句.ppt

    英语一般疑问句与特殊疑问句 .ppt

    英语一般疑问句与特殊疑问句 .ppt

    Java中的`java.util.stream.Collectors.toMap()`方法有什么作用

    如果你有任何疑问或需要进一步的帮助,请随时联系我们。 本文详细介绍了Collectors.toMap()方法的基本概念、使用场景、性能优化策略、实际应用案例以及与其他Collector的结合使用。希望能够帮助你在实际开发中更好...

    一般疑问句和特殊疑问句练习.pdf

    1. 一般疑问句的定义:一般疑问句是一种用yes或no来回答的疑问句,通常用于询问事实或确认信息。 2. 一般疑问句的构成: - 以be动词(am, is, are)开头,如:"Is this a box?" - 以助动词Do, Does, Did开头,如...

    ShtermClient-0.0.2.1.app_APP开发_ShtermClient_

    本站是交换下载平台,提供一个交流的渠道,下载的内容请自行研究使用。更多...请用浏览器直接下载本站软件,用WinRAR最新...如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.

    英语特殊疑问句练习带答案..doc

    【特殊疑问句】是英语语法中的重要组成部分,它用于询问具体信息,如时间、地点、原因、方式等。本练习主要涉及对句子不同部分进行提问的技巧,这有助于提高英语听说读写的能力。 1. 原句:They bought a new bike ...

    whattime和when引导的疑问句.pdf

    本文主要探讨了英语中两种常用的时间引导疑问句——"what time"和"when"的区别及其用法。 1. **what time** 和 **when** 的共同点: - 两者都用于询问时间,相当于汉语中的"什么时候"。 - 当询问具体的时刻,比如...

    小学英语特殊疑问句PPT课件.pptx

    【小学英语特殊疑问句】是小学英语教学中的一个重要部分,主要涉及如何用特定的疑问词引导句子来询问各种信息。特殊疑问句与一般疑问句不同,它不是通过yes或no来回答,而是需要提供具体的信息。 一、情态动词在...

    (完整版)三年级肯定句改否定句和一般疑问句.pdf

    在小学三年级的英语学习中,肯定句转换成否定句和一般疑问句是一项基础且重要的语法练习。这有助于学生更好地理解和运用英语句型,提高他们的语言表达能力。以下是一些具体的转换规则和示例: 1. This is the ...

Global site tag (gtag.js) - Google Analytics