C#参数是类数组的奇怪问题,求救

问题描述

我在C#里,某个函数的参数是一个类,发生了很奇怪的问题。我打个比分来说明下。classNode{publicNode[]_child;publicintA;publicstringB;......}//这是那个类的大概情况一个函数:FuncA(Node[]NodeList){for(inti=0;i<NodeList.Length;i++){if(NodeList[i]._child!=null){FuncA(NodeList[i]._child);}else{......}}}//其实就是一个树状结构的遍历,还有一下对应操作。然而在实际使用中,发生了以下问题。FuncMain(TYPEroot){if(root.NodeList!=null)FuncA(root.NodeList);}root是包含NodeList的一个类。但是在运行过程中,发现第一次调用FuncA,root.NodeList里所有结点的_child都是null。而且,更奇怪的是,我DEBUG,断点断下来后。鼠标指向“FuncA(root.NodeList)”这里,查看NodeList里面的结点的_child都是null。然后,我鼠标指向"FuncMain(TYPEroot)”这里的root,查看root.NodeList里面结点的_child都是有内容的。然后再次查看“FuncA(root.NodeList)”这里,奇怪的是,NodeList里面结点的内容又都有了。然后让程序运行下去,结果就正确的。不这么做,运行的结果就是不正确的。仅仅停下来,鼠标指指就改变了程序运行的结果?不知道有没有高人知道这是啥情况啊。。如果谁能帮忙,100分,毫不吝啬。

解决方案

解决方案二:
能否再具体一点,把可执行的代码帖上来看看?尝试用下REF了,实在不行的话。。。
解决方案三:
工程比较大。。而且我不想改变原本root的内容
解决方案四:
我感觉你用枚举更好些,但是怎么写的我忘不记得了,你可以查一下资料
解决方案五:
这个就是递归呀如果有子节点if(NodeList[i]._child!=null)则遍历之funcA(NodeList[i]._child)
解决方案六:
不是类数组的问题,而是你的用法有问题,

时间: 2024-09-20 08:49:58

C#参数是类数组的奇怪问题,求救的相关文章

jQuery对象中的类数组操作

我们都知道jQUery对象中有一个类数组的元素包装集,该集合类似js中的数组一样拥有length属性,因此我们称此为类数组,下面我们就来总结下这个jQuery对象中的类数组时如何进行操作的,看看我们的jQuery为我们都提供了哪些可用的方法: size():很明显,它应该是返回包装集中的元素个数,如$('a').size()表示链接元素的个数: get(index):当没指定index时就默认取包装集中所有元素,并以js中的数组形式返回,如果指定了index,则返回下标为index对应的元素,如

小议jQuery对象中的类数组操作

我们都知道jQUery对象中有一个类数组的元素包装集,该集合类似js中的数组一样拥有 length属性,因此我们称此为类数组,下面我们就来总结下这个jQuery对象中的类数组时如 何进行操作的,看看我们的jQuery为我们都提供了哪些可用的方法: size():很明显 ,它应该是返回包装集中的元素个数,如$('a').size()表示链接元素的个数: get(index):当没指定index时就默认取包装集中所有元素,并以js中的数组形式返 回,如果指定了index,则返回下标为index对应的

java当中的泛型类问题,类泛型参数是类的问题

问题描述 java当中的泛型类问题,类泛型参数是类的问题 类1<类2> 这样子写的话 类1和类2的选取范围是什么类<类>类的泛型是类的本身,这种写有错吗 解决方案 一般来讲,我们用到"类1<类2>"这样的形式的Java语句,通常是希望将范围比较大的类1里面所包含的内容规范化成类2:举个简单的例子,我们通常会在创建集合的时候限定集合里面的内容的类型,如:List.这意味着这个List集合里的内容都是字符串类型,而不会是Long或其他,这样就会在我们操作

JavaScript中的类数组对象介绍_javascript技巧

JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法.而对于一个普通的对象来说,如果它的所有property名均为正整数,同时也有相应的length属性,那么虽然该对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为"类数组对象".以下是一个简单的类数组对象: 复制代码 代码如下: var o = {0:42,

java反射 获取参数为字符串数组的构造函数

问题描述 在研究反射的时候碰到一个问题如下:当我在A类中申明了一个参数为字符串数组(String[] strArray)的构造函数,并且在main方法中用getConstructor(String[].class) 或者 getConstructor(new Class[](String[].class))都无法获得相应的构造函数,然而,当我声明的是参数为整形数组(int[] intArray)的构造函数时,却可以获得相应的构造函数.谁能回答下嘛?十分感谢!代码如下://类Apublic cla

Jquery源码分析---jQuery类数组的分析

4.1.类数组构建 从上节可以看出jquery构建函数完成了查找或转换 或其它的功能,其结果就是查找到元素.Dom树查找,html转换成Dom元素,还是 直接传入Dom元素都不过是方式而已.找到这些元素就得找个地方去存储起来. 存储有序数据的地方(集合)在JS中最好的当然是数组.那么又如何在 jQuery内面实现数组呢?可以采用如下的方式: jQuery.fn.prototype=new Array(); 在上一节中 的this.setArray(arr)函数中加上 Array.apply (t

JavaScript 里的类数组对象

 很早以前我就知道可以把 arguments 转化为数组:[].slice.call(arguments),因为 arguments 是个类数组对象,所以才可以这么用.但是我一直不清楚什么叫做类数组对象( array-like objects) 今天看 Effective JavaScript 就有一节是专门讲这个的,感觉真是太拽了. 先看我写的一些示例代码: a = "hello" [].map.call(a, (e) -> e.toUpperCase()) # => [

php中输出中文数组出现奇怪的问题怎么破?

问题描述 php中输出中文数组出现奇怪的问题怎么破? $_mg[0] ="李艳萍"; $_mg[1] = "到底"; print_r($_mg); 输出结果为: Array ( [0] => ????? [1] => ddd ) 解决方案 私码?你这个php文件是什么编码的,utf-8? php顶部再输出个头 header("Content-Type:text/html; charset=utf-8"); 解决方案二: 1.弄清楚自己

上传下载中参数 request, 字符串数组 params, Map values

问题描述 上传下载中参数 request, 字符串数组 params, Map values 里面的request,params 和values穿的是什么值 解决方案 用fiddler看下浏览器中传了什么,你照着做好了.