Zitat von BlueCobbold
Genau wegen sowas habe ich gesagt man muss wissen welche Sprache. C# übergibt nahezu nichts by value - nur structs und andere integrale Typen. Daher macht das da NULL Sinn, außer du willst die Arrays per "new" komplett neu zuweisen. Also: Nein, Finger weg von "ref" in diesem Fall. Bei C# sind Referenz-Typen eben genau das: Referenz-Typen, die per Referenz übergeben werden - automatisch und immer! Das "ref" Schlüsselwort hat eine sehr sehr spezielle Bedeutung und sollte daher auch nur dann eingesetzt werden, wenn tatsächlich genau diese Funktionalität benötigt wird. Das ist hier aber nicht der Fall. Die Arrays werden auch ohne "ref" by reference übergeben und die Semantik von "ref" wäre hier schlicht falsch.
Wie dot zudem schon sagte: Bei C++ sollte man Wert darauf legen auch mal etwas by value zu übergeben.
So du sagtest das bei .NET alles, außer primitive Datentypen, mittels Referenz übergeben werden.
Im Falles des Arrays stimme ich dir zu, da diese als Verweistypen in der .NET betrachtet werden.
Aber Rectangle ...
das ist in XNA ein struct, somit würde es also doch Sinn machen, sie als ref zu übergeben, oder nicht.
da Structs in C# Valuetypes sind und nicht automatisch als Verweis übergeben werden, oder nicht??