foreach原理(大神来解答,JAVA中,我想用一个类存放多个数据,为什么报空指针错误(代码如下))
本文目录
- 大神来解答,JAVA中,我想用一个类存放多个数据,为什么报空指针错误(代码如下)
- C#正则表达式的运用问题,判断输入的字符串是否符合标准
- 怎么循环gridview获得其中数据,然后保存到数据库中
- java数组排序问题,生成一个10-50的随机整数并排序,以下两种写法结果不同,求解
- C#中的 foreach语句讲解 运行原理
- C#中怎样按某一列条件筛选Access数据库中的数据并把相应的整行数据一行一行显示在listbox中
大神来解答,JAVA中,我想用一个类存放多个数据,为什么报空指针错误(代码如下)
这里报空指针问题,是由于在循环遍历的最后一个数是,循环进去了,但是t的值为Null,t.a必然报空指针错,开启debug模式调下就看的清晰了。
C#正则表达式的运用问题,判断输入的字符串是否符合标准
/// 《summary》 /// 递归展开Bom /// 《/summary》 /// 《param name="listBom"》所有数据集《/param》 /// 《param name="bom"》根节点物料《/param》 /// 《param name="treeNode"》根树节点《/param》 private void ResolveSubTree(DbSet《TbBom》 listBom, TbBom bom, TreeNode treeNode) { //获取所有bom节点物料代码为父节点代码的物料 List《TbBom》 subListClone = listBom.Where(p =》 p.ParentPartNo == bom.PartNo).ToList(); //获取所有bom节点物料代码为父节点代码的物料(过滤重复物料,用作循环) var subList = listBom.Where(p =》 p.ParentPartNo == bom.PartNo).GroupBy(p =》 p.PartNo).Select(p =》 p.FirstOrDefault()).ToList(); //如果包含子节点 if (subList.Count 》 0) { //树展开 treeNode.Expanded = false; //循环遍历子节点 foreach (TbBom subBom in subList) { //查询出 子节点,和 当前父节点下 子节点的数量汇总 var sbom = new { b = subBom, c = subListClone.Where(p =》 p.PartNo == subBom.PartNo).Select(p =》 p.Qty).Sum() }; //创建节点 TreeNode node = new TreeNode(); node.Value = sbom.b.PartNo; node.ToolTip = GetParentNodeNames(listBom, bom.ParentNos); treeNode.ChildNodes.Add(node); if (Valied(bom.ParentNos, sbom.b.PartNo)) { node.ImageUrl = "~\\image\\flase.gif"; node.Text = string.Format("{0}", sbom.b.MaterialName); continue; } else { node.ImageUrl = "~\\image\\true.gif"; node.Text = string.Format("{0}({1})", sbom.b.MaterialName, sbom.c); } ResolveSubTree(listBom, subBom, node); } } }
怎么循环gridview获得其中数据,然后保存到数据库中
//把名为:gridview的DataGridView绑定到名为tbl的DataTable中 DataTable tbl = (DataTable)gridview.DataSource; string st; //遍历每一行tbl中的每一行数据 foreach (DataRow row in tbl.Rows) st= row.ToString();//具体字段名 原理分析: 其实dataGridView 中的数据源可以看成是一个表的类型存在。而能保存数据库中的表理所当然想到的是DataTable, 由于dataGridView 中的DataSource是一个对象(object)而DataTable是一个具体的实体,所以当把dataGridView 中的DataSource对象值赋给DataTable 时需要进行强制类型转换。这个主要是父子的关系。 PS:插入数据库自己写!!
java数组排序问题,生成一个10-50的随机整数并排序,以下两种写法结果不同,求解
额。看了各位大大的说法,我去重新查了下资料,同时也去测验了下,重新发表评论下。主要我是受之前的C#的老师影响呵,他告诉我说foreach不能用来改变内容,而且C#中如果改变就会报错。不过Java中好像不一样。好了,下面我们一起来讨论一下。for(类型 变量 :集合){}从上面的式子我们可以看出,这个变量只是取到了集合中的值(并不是真正集合中的元素),这个和我们用通过方法来改变数据的原理一样。如果是基本数据类型的话,我们取到的是值,不管这个变量怎么改变,原来的数据都不会发生变化。所以有楼主出的结果。。可是如果是用对象数组或者用集合的话。for(Student stu : students){stu.age=10;}根据我们知道的。此时stu,也是引用,指向的是students元素对应的堆中的地址。所以堆中的数据改变 了,数组中的指向堆中对象的数据肯定也发生了改变。我作了两个demo,如下public class RandomTest {public static void main(String args){//引用类型作元素Student;for(int i=0;i《students.length;i++){students=new Student();}for(Student stu : students){//这时stu引用的是对应的对象堆中的地址,所以操作这个对象的数据也发生了改变 stu.age=10;}for(Student stu : students){System.out.println(stu.age);}//基本数据类型int;Random r=new Random();for(int element :a){ //这是一个新的变量,来接收数组中的值,现在改变的是element的值。数组中原来的值没有发生改变element=r.nextInt(40)+10;}Arrays.sort(a);for(int element :a)System.out.println(element);}}class Student{public int age;}总结一下。。在java中。foreach中。元素取的是集合对应的元素的值。。并不是本身集合的元素而通过for 取得是集合本身的元素。所以如果是基本数据类型的话,不改变数组中的数据。如果是引用数据类型的话,会改变数组中对象的数据。这个和用基本数据类型当参数和引用数据类型当参数效果一样。
C#中的 foreach语句讲解 运行原理
foreach(DataRow row in DataSource){ //要执行的代码}运行的时候首先从DataSource中取出一行,然后去执行要执行的代码,然后再返回foreach取出一行,再执行要执行的代码……直到DataSource中的数据都取出执行一遍为止。希望回答会对你有所帮助。
C#中怎样按某一列条件筛选Access数据库中的数据并把相应的整行数据一行一行显示在listbox中
你要另外写的话,可以。先连接数据库,创建SqlDataApter对象,把查到的结果集填充到Datatable里显示、然后再逐个获取Datatable单元格的内容。或用SqlDataReader来,它是逐行读取数据的,每读一次就把当前行添加到集合里。sqlhelper这个类是对数据库操作进行封装而已,方便重复使用。你在vs里,右击你的代码 Sqlhelper---转到定义,仔细看它是怎么通过getDataTable()这个函数获得数据库数据的。原理都是一样的。string constr = "data source=.;database=Goods; uid=123;pwd=123;";//连接的数据库的信息SqlConnection conn = new SqlConnection(constr);//创建连接conn.Open();//打开连接string sql = "select *from Course"; //要执行的sql语句,你改成你的表名SqlDataAdapter sda = new SqlDataAdapter(sql,conn);DataTable dt = new DataTable();sda.Fill(dt);//填充数据到dtforeach (DataRow row in dt.Rows){ list.Add(row.ToString());}
更多文章:
度小满钱包什么意思?元宵摇红包我摇了10.12元,今天提现时度小满钱包只有0.04元
2024年6月6日 11:21
惠普5200(hp惠普5200系列打印机都有哪些型号 详细的区别)
2024年6月4日 09:16
CF打雷霆道具卡有什么技巧,能得角色?穿越火线中幻影、雷霆、复仇三种道具卡都能开出什么道具
2024年4月30日 23:47
dreamweaver官网下载(下载dreamweaver)
2024年6月24日 22:49
汤圆的表情在美图秀秀哪里怎么弄谁可以告诉我呢?汤圆表情是用什么手机软件做的
2024年3月19日 12:50
电脑总是自动关机怎么解决(电脑老是自动关机怎么回事 电脑老是自动关机怎么解决)
2024年6月28日 07:19