【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
相关推荐
weixin_4604435610 小时前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
Cc.Y13 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
阿森_dev13 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by2099913 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说13 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
Sarvartha13 小时前
Lambda 表达式和函数式接口
java·开发语言
kimloner14 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
小白学大数据14 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
学逆向的14 小时前
win32注入代码
开发语言·网络安全·api·win32
阿松爱学习14 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#