gpt4 book ai didi

C# - 在处理流之前返回内存流字节数组的效果?

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:32 26 4
gpt4 key购买 nike

我正在使用这样的内存流:

public static byte[] myMethod()
{
using(MemoryStream stream = new MemoryStream())
{
//some processing here.
return stream.toArray();
}
}

我在调用方方法中分配返回的字节数组,如下所示:

public static void callerMethod()
{
byte[] myData = myMethod();
//Some processing on data array here
}

返回的字节数组是传引用还是传值?如果返回的数组是引用,这是否意味着在任何时候我都可以将 callerMethod 数组中的 myData 设为 null 在我仍在处理数据的任何时候?

最佳答案

Is the returned byte array passed by reference or by value?

数组是 Array 类的一个实例,因此它始终是一个引用,没有值。 ToArray 从流中读取值并将它们存储在新实例化的数组对象中。

does that mean at any time I may have ... null

没有。如上所述,您返回一个新的数组实例,其中包含从流中读取的值。在您使用局部变量 myData 时,它不可能再次被设置为 null

关于C# - 在处理流之前返回内存流字节数组的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36332992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com