何も見ずにやったのでボロボロです…orz
はたして何問あってればJavaプログラマと認定されずにC#プログラマと認定してもらえるのだろうか・・・
もとネタを知らない人は、以下のサイトを先に見てねっ。絶対だよっ。
以下私の回答用紙
==演算子のオーバーロードを実装してEqualsメソッドと同じ処理を実行するようにしてもよい場合はどのような時か?
う・・・自身ないっす・・・。
不変なクラスの時???
List<int>のように値型を格納するジェネリックコレクションを使ってもボックス化/ボックス化解除が発生しない理由を説明せよ。
えっ・・・発生すると思ってたorz
Full GC(Gen2 GC)が動作したときに断片化していてもコンパクションされないヒープ領域はどのような領域か?
?????
フィールドのアクセス修飾子をprivateにしプロパティのgetter/setterではそのフィールドを読み書きするだけというコードが馬鹿馬鹿しい理由を説明せよ。
自動実装プロパティがあるから、全部手書きなんてナンセンス。
nullを参照している参照型変数のメソッドを呼び出そうとした場合でもNullReferenceExceptionが発生しないのは主にどういう状況か?
えっ・・・。拡張メソッドで内部でnullチェックをしてるとかいう普通はしないような状況くらいしか思いつかない・・・。
クラスと構造体の違いは何か?(「スタックとヒープ」以外で)
参照型と値型かな。代入したときに参照が渡されるのがクラスで、コピーが渡されるのが構造体だと思う。
デストラクタとは何か?
GCで回収されるときに呼ばれる最後の砦の処理を書くところ。
インターフェースの明示的実装を利用する目的を1つ説明せよ。
タイプセーフでないインターフェースをタイプセーフなように見せるため。(昔のジェネリックが導入されるまえのコレクションの実装とかでよくやってたやつ)