3

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

メソッド宣言の変更

だから質問はこれです:

ここに画像の説明を入力

ここに画像の説明を入力

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

ここに画像の説明を入力

私の答えが部分的に正しいとマークされている理由がわかりません。何か不足していますか? また、質問はこれが文字列操作の質問であると言っていますが、私にはその主題とは何の関係もありません。

マルコ

アップデート

回答 C は正しくありません。実際の enum ではなく var キーワードを使用したという事実に誤りがありました。

4

2 に答える 2

6

2 つのオプションにチェックを入れました。マウスポインターを表示したものは問題ありませんが、他のものはそうではありません。

試してみてください。理由がわかります。.NET 4 の時点でEnum.TryParse<TEnum>は、どちらが汎用的であり、いくつかの点で煩わしさが少ないことに注意してください。残念ながら、TryParse強制的に列挙型になるように制約されていTEnumません... C# で宣言されている場合はそうではありませんが、IL ではそうである可能性があります。興味があれば、別のアプローチについては、私のUnconstrained Melody プロジェクトを参照してください。(部分的な評価しか得られなかった理由を知りたいだけなら、完全に理解できます...)

(そして、それ自体は実際には「文字列操作」ではないことに同意します。)

于 2013-04-27T15:20:13.850 に答える
2

質問は、どちらが列挙型を返すかを尋ねます。その場合、4番目のオプションが正しいです。3番目のオプションはオブジェクトを返します(ただし、列挙型はオブジェクトにカプセル化されます)。

ここでのトリックはvar. すべて に割り当てられvarます。したがって、オブジェクトまたは列挙型を返したとしても、すべてが で受け入れられvarます。

これが証拠です。

ここに画像の説明を入力

于 2013-04-27T15:26:59.200 に答える