私は Java で「育ち」、最近 C# に完全に切り替えました。私はちょうど自分自身に ATM を教えていて、戻って、C# を使用して Java で行っていた古いプログラミングの割り当てをすべてやり直しています。これは、ジェネリックを使用してスタック配列をインスタンス化しようとしている特定のコード行です。
stack = (T[])(new object[def_cap]);
これにより、このコンパイラエラーが発生します
Cannot convert type 'object[]' to 'T[]' (CS0030)
Cannot implicitly convert type 'object[]' to 'T[]' (CS0029)
C# と Java ではキャスト演算子の動作が異なると思いますが、誰かが私を啓発できるかどうか疑問に思っていました。ありがとうございました!