C#Array.Reverse反转按值传递给方法的原始数组 - c#

我在一个方法中有一个char数组,someObject是通过引用传递给GetChars方法的任意对象:

private void DoSomeStuff(ref Object someObject)
{
   char[] chars = GetChars(ref someObject); // {'a','b','c','d'}
   char[] ReversedChars = Reverse(chars); // {'d','d','b','a'}
   //chars and ReversedChars are in the same order, although "ref" is not used
}

private char[] Reverse(char[] someChars)
{
   Array.Reverse(someChars);
   return someChars;
}

如果不通过引用传递数组,为什么在另一个方法中Array.Reverse更改原始传递的char数组?

参考方案

数组是对象,因此:引用类型。

它正在传递参考-按值。因此:如果您更改了引用指向的内容(即数组数据),则该更改对于所有也引用该对象的人仍然可见。

这里只有一个数组。实际上,没有其他数据可以更改。

仅当您将引用重新分配给其他对象时,按引用传递引用才有意义。

图像作为Int Array Java - java

我在用Java编写的网络摄像头应用程序中使用JMyron,该程序返回了网络摄像头视为int []的内容。由于每个int一个像素,它如何将像素的rgb值表示为一个int? 参考方案 一个int是32位。所以int的前8位是红色0-255,后8位是绿色0-255,后8位是蓝色0-255,后8位是alpha值0-255。这就是为什么它称为32位颜色。当我第一次连接…

在PHP三元和空合并运算符中省略“else” - php

Improve this question 我正在阅读有关PHP中的三元和空合并运算符并进行了一些实验。所以,而不是写if (isset($array['array_key'])) { $another_array[0]['another_array_key'] = $array['array_key…

array_udiff返回不同的结果 - php

我有这段代码来获取两个对象数组之间的区别:$diff = array_udiff($a, $b, function($obj_a, $obj_b) { return $obj_a->id - $obj_b->id; } ); $ a是[ { "id": "7", "attribute":…

用逗号分隔数组,javascript - javascript

我有一个奇怪的情况。我有一个组合框,可以有多个选择。我的数据可能包含逗号。我正在使用Infragistics控件,因此我无法控制分隔符。现在,我的组合框值为“ A * A”,“ A%A”和“ A,A”。如果用户选择所有3个值,则结果如下所示: var arrValues = combo.igCombo('values'); //this …

将字符串放在数组中的每个数组之间-PHP - php

可以说我有一个包含9个句子的文本文件(可能更多!这只是一个例子),然后我在php中读取该文件并将其每3个句子拆分一次,并将其存储在变量中,从而导致该数组:$table = array( array( 'text number 1', 'text number 2', 'text number 3' …