Ich bin nicht der größte C # - oder MVC-Experte, aber das ist eine Trickfrage .
Sie sind gleich.
Sie haben Recht, dass ActionResult eine abstrakte Klasse ist und JsonResult von ihr erbt.
@Lakshay du hast richtig geantwortet, die Tatsache, dass man JSON zurückgibt und die andere nicht, bedeutet nicht alles. Wenn der zurückgegebene JSON identisch ist, wird die public JsonResult ar() { return Json(); }
in verrückter Zeit etwas schneller sein ... was bedeutet, dass es nicht geht.
Ihr Interviewer war einer der Leute, die über seinen Kopf hinweg waren - akzeptieren Sie keine Arbeit an diesem Ort. Wirklich, wenn er dir eine Frage wie diese stellt, zeigt es nur ... er wusste es auch nicht ODER schlimmer noch, obwohl er es wusste. Welches ist wahrscheinlich der Fall.
Sie haben die beste Antwort auf eine dumme Frage gegeben (so wie die MS- oder Google-Fragen).
Ihre Antwort "Ich weiß nicht" ist in der Tat eine gute. Vielleicht hat der Interviewer Ihre Einstellung oder Reaktion auf eine unsinnige Frage gesucht. Natürlich können Sie ActionResult
verwenden, um ein Json-Objekt zurückzugeben, aber dann müssen Sie alle damit verbundenen Arbeiten manuell erledigen. Zum Beispiel müssen Sie den richtigen ContentType zuweisen. JsonResult
ist dazu da, all diese Arbeit hinter den Kulissen für Sie zu erledigen.
Tags und Links asp.net-mvc c#