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

Python支持函数递归(含嵌套函数递归),C#能否实现该功能?

C#是否支持嵌套函数的递归调用?

C# 完全支持本地函数(嵌套在方法内的函数)的递归调用,你提供的代码只是存在几处语法错误,修正后即可正常运行。

你代码中的问题:

  • C#是大小写敏感语言,main方法名需要大写为Main
  • Console.ReadLine()需要补全括号和语句结尾的分号
  • 本地函数stuff需要在Main方法内主动调用一次才会启动递归流程

修正后的完整代码:

namespace f
{
    class f
    {
        static void Main(string[] args)
        {
            void Stuff() 
            {
                Console.ReadLine();
                Stuff(); // 递归调用本地函数,语法完全合法
            }
            // 启动递归循环
            Stuff();
        }
    }
}

模仿Python的命令处理场景示例:

如果要实现类似Python里避免重复输入逻辑的命令处理,用C#本地函数递归可以这么写:

namespace CommandHandler
{
    class Program
    {
        static void Main(string[] args)
        {
            void HandleCommand()
            {
                Console.Write(">");
                string input = Console.ReadLine();
                if (input == "help")
                {
                    Console.WriteLine("commands: help, exit");
                    HandleCommand(); // 递归调用,继续等待下一次输入
                }
                else if (input == "exit")
                {
                    return; // 终止递归流程
                }
                else
                {
                    Console.WriteLine("未知命令,请输入help查看可用指令");
                    HandleCommand();
                }
            }

            HandleCommand();
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:55:39