【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
相关推荐
Irissgwe12 小时前
C&C++内存管理
c语言·开发语言·c++·c++内存管理
雾岛听蓝12 小时前
C文件操作与系统IO
linux·c语言·开发语言·经验分享·笔记·算法
夫唯不争,故无尤也13 小时前
HTTP方法详解:GET、POST、PUT、DELETE
开发语言·windows·python
Joker Zxc13 小时前
【前端基础(Javascript部分)】4、JavaScript的分支语句
开发语言·前端·javascript
小钻风336613 小时前
Optional:告别NullPointerException的优雅方案
开发语言·python
chools13 小时前
一篇文章带你搞懂Java“设计模式”! - - 超长文(涵盖23种)万字总结!【汇总篇】
java·开发语言·设计模式
人工智能AI技术13 小时前
两会“人工智能+“风口已至:C#开发者用Semantic Kernel搭建企业级Agent的3个实战套路
人工智能·c#
程序员JerrySUN13 小时前
别再把 HTTPS 和 OTA 看成两回事:一篇讲透 HTTPS 协议、安全通信机制与 Mender 升级加密链路的完整文章
android·java·开发语言·深度学习·流程图
j_xxx404_13 小时前
C++算法:一维/二维前缀和算法模板题
开发语言·数据结构·c++·算法
蓝天智能14 小时前
QT实战:Qt6 字符编码避坑指南
开发语言·qt