You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

代码错误排查请求:需调用Game与FullName方法输出结果,求指出问题

C#代码错误排查与修正

原代码中的核心问题

  • 方法嵌套非法:C#不允许在方法内部定义另一个方法,FullName不能放在Game方法里。
  • 无限递归死循环:Game里写return Game();会反复调用自己,直接触发栈溢出异常。
  • 字符串语法错误:FullName返回的字符串存在未处理的换行,编译无法通过。
  • 逻辑不符合需求:完全没实现“调用Game后调用FullName”的预期,反而错误地递归调用自身。

修正后的代码

namespace WebApplication1.Controllers
{
    public class DomainController : Controller
    { 
         public string Game()
         {
             // 按需传入具体的名和姓,示例用"John"和"Doe"
             return FullName("John", "Doe");
         }

         public string FullName(string first, string last)
         {
             if (!string.IsNullOrEmpty(first) && string.IsNullOrEmpty(last))
                 return $"Your First Name is = {first}";
             else if (string.IsNullOrEmpty(first) && !string.IsNullOrEmpty(last))
                 return $"Last Name is = {last}";
             else if (!string.IsNullOrEmpty(first) && !string.IsNullOrEmpty(last))
                 return $"Your First Name is = {first} And Last Name is = {last}";
             else
                 return "Both first and last names are empty";
         }
     }
}

修正说明

  1. 把FullName移到类的直接成员位置,符合C#语法规则。
  2. 修改Game的返回逻辑为调用FullName,彻底解决递归问题,同时实现“调用Game后触发FullName”的需求。
  3. 用字符串插值替换原有的拼接方式,解决换行导致的语法错误,代码也更简洁易读。
  4. 补充了“两个名字都为空”的分支,让逻辑覆盖更完整。

内容的提问来源于stack exchange,提问作者MAYANK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 21:31:10