私はオンライン評価を行い、結果を理解しようとしています。ここでは、すでに行った質問の 1 つを示します。
だから質問はこれです:


そしてレポートは次のように述べています。

私の答えが部分的に正しいとマークされている理由がわかりません。何か不足していますか? また、質問はこれが文字列操作の質問であると言っていますが、私にはその主題とは何の関係もありません。
マルコ
アップデート
回答 C は正しくありません。実際の enum ではなく var キーワードを使用したという事実に誤りがありました。
2 つのオプションにチェックを入れました。マウスポインターを表示したものは問題ありませんが、他のものはそうではありません。
試してみてください。理由がわかります。.NET 4 の時点でEnum.TryParse<TEnum>は、どちらが汎用的であり、いくつかの点で煩わしさが少ないことに注意してください。残念ながら、TryParse強制的に列挙型になるように制約されていTEnumません... C# で宣言されている場合はそうではありませんが、IL ではそうである可能性があります。興味があれば、別のアプローチについては、私のUnconstrained Melody プロジェクトを参照してください。(部分的な評価しか得られなかった理由を知りたいだけなら、完全に理解できます...)
(そして、それ自体は実際には「文字列操作」ではないことに同意します。)
質問は、どちらが列挙型を返すかを尋ねます。その場合、4番目のオプションが正しいです。3番目のオプションはオブジェクトを返します(ただし、列挙型はオブジェクトにカプセル化されます)。
ここでのトリックはvar. すべて に割り当てられvarます。したがって、オブジェクトまたは列挙型を返したとしても、すべてが で受け入れられvarます。
これが証拠です。
