【C# 入门】程序结构与 Main 方法

一、标准的 C# 程序结构

最经典的控制台程序,打印 Hello World

cs 复制代码
using System;

namespace DemoApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
        }
    }
}
  • using:只是"引用命名空间",不是引包

它的作用是告诉编译器:接下来要用 System 命名空间里的类型,没有它,你就得这样写:

cs 复制代码
System.Console.WriteLine("Hello");
  • namespace:解决"重名"的唯一办法

命名空间的作用是防止类名冲突,不同命名空间里可以有相同的类名,不要随便省略 namespace

  • class:一切代码的"容器"

C# 中所有的函数都要写在类里,不能写 裸函数

二、Main 方法:程序真正的入口

  • 标准写法
cs 复制代码
static void Main(string[] args)
  • 为什么 Main 一定是 static?

因为程序启动时还没有对象

  • Main 函数的名字是固定的,不能修改
  • 可以有多个 Main 函数,但是只能有一个被选为启动入口
  • Main 方法的几种合法写法
cs 复制代码
static void Main()
static int Main()
static void Main(string[] args)
static int Main(string[] args)

三、args 参数到底有什么用?

args 用来接收 命令行参数。

例如:

cs 复制代码
DemoApp.exe -mode test

Console.WriteLine(args[0]); // -mode
Console.WriteLine(args[1]); // test

四、总结

  1. Main 是程序唯一入口
  2. 必须是 static
  3. 名字不能乱改
  4. args 用于命令行参数
  5. 一个项目只能有一个启动 Main
相关推荐
超级架构师16 分钟前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮1 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔2 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
专注仿真2 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
外收内放2 小时前
Python基础语法练习题(75)
开发语言·python·学习
starzy19903 小时前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
starzy19903 小时前
Scala类和对象:从构造器到样例类的完整指南
开发语言·后端·scala
niucloud-admin3 小时前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:订单列表
开发语言·php
怪我冷i4 小时前
Rust 的impl语法详解
开发语言·后端·rust
泛凡(Linyongui)4 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#