配列は参照渡し

メソッドの引数の扱いは、

参照渡し
クラス
値渡し
構造体と組み込みの数値*1

で覚えてて、いや、まぁこれはたぶんあってるんだけど、それはさておき。組み込みの数値が値渡しなので、数値の配列も値渡しだろうって思ってコード書いてたらドツボにはまった。というわけで、自戒の念をこめてメモ。
念のためMSDNを引いたら

配列型は、抽象基本型 Array から派生した参照型です。この型は IEnumerable と IEnumerable<(Of <(T>)>) を実装するので、C# のすべての配列で foreach 反復処理を使用できます。

http://msdn.microsoft.com/ja-jp/library/9b9dty7d.aspx

って、わざわざ『参照型』ですって強調して書いてあった・・・orz

参照型であることと、参照渡しされることの間には関係はないようです。
詳しくはコメント欄のbleis-tift様のコメントにて。
bleis-tift様、ご指摘ありがとうございます。

*1:てか、これも構造体だけど