ich einen Speicher-Stream wie folgt bin mit:C# - Auswirkung des zurückkehrenden Bytearrays des Speicherstroms unmittelbar vor der Ausgabe des Streams?
public static byte[] myMethod()
{
using(MemoryStream stream = new MemoryStream())
{
//some processing here.
return stream.toArray();
}
}
ich das zurückgegebene Byte-Array in der Anrufer Methode wie folgt bin Zuordnung:
public static void callerMethod()
{
byte[] myData = myMethod();
//Some processing on data array here
}
Ist das zurückgegebene Byte-Array als Referenz oder als Wert übergeben ? Wenn das zurückgegebene Array von Referenz bedeutet, dass jederzeit kann ich myData im callerMethod Array null jederzeit zu sein, während ich immer noch die Datenverarbeitung bin?
Wie sollte sich das Byte-Array ändern, während Sie noch arbeiten? Wenn es noch nicht zugewiesen ist, wie kann es sich ändern? –
Sie fragen, ob das Array Null wird, nachdem der Stream entfernt wurde? Das wird nicht passieren. – Camo
Es wird zugewiesen, indem myMethod() aufgerufen wird, ich denke, es wird geändert, wenn das Byte-Array als Verweis zurückgegeben wird, da das Speicher-Stream-Objekt jetzt ein Thema für GC jederzeit nach der Ausführung mit block in der aufgerufenen Methode wird? –