【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 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
在放️19 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy19 小时前
java知识五(继承)
java·开发语言
c++之路19 小时前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手19 小时前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
聚名网20 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
牛油果子哥q20 小时前
STL set与map底层精讲,红黑树适配原理、有序去重特性、迭代器遍历、API实战与面试核心考点全解
开发语言·数据结构·c++·面试
foundbug99920 小时前
直流电机 PID 速度控制 MATLAB 仿真程序
开发语言·matlab
Tian_Hang21 小时前
C++原型模式(Protype)
开发语言·c++·算法
天天讯通21 小时前
OKCC 呼叫中心安全性能全解析:技术防护与管理措施指南
大数据·开发语言·网络·人工智能·安全·语音识别