当前位置: 首页 > news >正文

VS2022创建控制台应用程序后没有Main了,如何显示Main?

文章目录

  • 问题描述
  • 原因
  • 解决方案
  • 简单的顶级语句试用
    • 计算器
  • 其他文章

问题描述

用VS2022创建一个控制台应用后,没有名称空间和Main函数了,只有一个WriteLine,如下所示。

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

原因

首先说明一下原因,在VS2022中,创建控制台应用主要使用的框架是.NET6.0,而这个只有一个WriteLine语句的控制台,就是.NET6.0的新模板,使用了顶级语句这个功能。
只有.Net5.0及其以下版本,才会生成以前带Main和名称空间的模板。
具体关于顶级语句的讲解这篇文章并不涉及,感兴趣的可以去自行学习。
本篇文章主要讲解如何创建以前的模板。

解决方案

创建以前的模板,只需要在创建控制台应用的时候,在选择框架的页面,勾选“不使用顶级语句”即可。
在这里插入图片描述

简单的顶级语句试用

顶级语句是指在C#中可以直接在源文件中编写的语句,而不需要包含在任何类或方法内部。它们的引入主要是为了简化小型程序的编写和调试。

在以前的C#版本中,我们必须将代码放在类和方法的结构中,要定义一个可执行的程序,我们需要在一个类中编写一个名为Main的方法,并在其中编写我们的代码。然而,这样的结构对于一些小型程序来说可能过于繁琐,并且增加了程序的复杂性。

从C# 9.0开始,我们可以使用顶级语句来编写更简洁的程序。顶级语句通常位于源文件的最外层,并且我们不需要显式定义类和方法,可以直接编写我们的代码。

顶级语句的使用非常简单。可以在顶级语句中使用using语句引入命名空间,可以定义变量和常量,可以调用方法,可以进行计算等等。编译器会自动将这些顶级语句转换为类和方法的结构,并按照一定的规则组织代码。

需要注意的是,只有一个编译单元可具有顶级语句。这是为了保持代码的可读性和一致性。如果我们想编写更复杂的程序,仍然需要使用类和方法的结构来组织代码。
在这里插入图片描述
顶级语句的引入使得编写小型程序更加简洁和直观。不再需要显示定义类和方法,我们可以更直接地表达我们的意图。这对于原型开发、小型脚本和快速测试非常有用。

计算器

接下来讲解一下如何使用顶级语句编写一个简单的计算器程序,使大家更好的习惯顶级语句。计算器让用户输入两个数字并计算它们的和,代码如下所示:
在这里插入图片描述

Console.WriteLine("没错,是计算器!");Console.Write("请输入第一个数字:");
#pragma warning disable CS8604 // 引用类型参数可能为 null。
int num1 = int.Parse(Console.ReadLine());Console.Write("请输入第二个数字:");
int num2 = int.Parse(Console.ReadLine());
#pragma warning restore CS8604 // 引用类型参数可能为 null。int sum = num1 + num2;
Console.WriteLine($"数字 {num1}{num2} 的和为 {sum}。");Console.WriteLine("结束!");

以上代码在顶级位置使用 Console.WriteLine 输出欢迎消息。接下来,程序提示用户输入两个数字,并使用 int.Parse 将输入的字符串转换为整数值。

然后,程序计算这两个数字的和,并使用字符串插值语法将结果打印出来。

其他文章

C#如何获取当前主机的局域网IP
C#实现局域网之间互相传递消息

相关文章:

VS2022创建控制台应用程序后没有Main了,如何显示Main?

文章目录 问题描述原因解决方案简单的顶级语句试用计算器 其他文章 问题描述 用VS2022创建一个控制台应用后,没有名称空间和Main函数了,只有一个WriteLine,如下所示。 // See https://aka.ms/new-console-template for more information Co…...

当当网商品详情数据接口

当当网商品详情数据接口可以通过当当网的开放平台获取相关信息。您可以注册当当开放平台账号,并按照要求提交申请获取API接口的调用凭证。获得授权后,您将会收到一组AccessKey和SecretKey。使用编程语言(如Java)调用API接口&#…...

ultraEdit正则匹配多行(xml用)

在ultraEdit中&#xff0c;我想选取<channel到</channel>之间的多行&#xff08;进行删除&#xff09;。在perl模式下&#xff0c;命令为“<channel[\s\S]?</channel>”。下面是xml文件&#xff1a; <!--This XML file does not appear to have any sty…...

Mac上的utools无法找到本地搜索插件

utools安装地址 utools本地搜索用法 目前本地搜索只在win下&#xff0c;mac无福了 Mac可用cmdspace方法使用聚焦搜索&#xff0c;来搜索本地文件...

win11 administrator 账户运行不提示授权

...

docker部署nginx下日志自动切割方法

前言&#xff1a;nginx采用docker部署&#xff0c;简单方便&#xff0c;但出现一个问题&#xff0c;就是日志没有自动切割&#xff0c;导致access.log 无限增大。如果非docker安装&#xff0c;则nginx的日志默认有切割的&#xff0c;那docker为何没有呢&#xff0c;最后发现&am…...

3D目标检测实战 | 图解KITTI数据集与数据格式

目录 1 数据集简介2 传感器坐标系3 数据集下载与组织4 数据内容说明4.1 矫正文件calib4.2 图像文件image4.3 点云文件velodyne4.4 标签文件label4.5 平面文件plane 1 数据集简介 KITTI数据集是一个广泛应用于自动驾驶和计算机视觉领域的公开数据集。该数据集由德国卡尔斯鲁厄理…...

周界警戒AI算法+视频智能分析在安全生产场景中的应用

长期以来&#xff0c;周界防范安防系统在大型园区、工厂、社区、机场、火车站站台、重点单位等领域应用较为广泛和常见。随着AI人工智能等新兴技术的快速发展与落地应用&#xff0c;通过AI智能检测与视频智能分析技术&#xff0c;现代化的周界安防系统可以做到全天候快速、准确…...

C++中执行shell命令,popen与system的区别

C中执行shell命令&#xff0c;popen与system的区别_c popen_Op_chaos的博客-CSDN博客 2.system system()函数执行过程&#xff1a; 1.fork一个子进程&#xff1b; 2.在子进程中调用exec函数去执行command&#xff1b; 3.在父进程中调用wait去等待子进程结束。 由于system没…...

Flink相关

墨滴社区 用 Flink 取代 Spark Streaming&#xff01;知乎实时数仓架构演进_天池技术圈-阿里云天池 关于flink实时数仓的实际问题_flink datastream 按天,小时写入hdfs_一个写湿的程序猿的博客-CSDN博客 基于 Flink Hudi 的实时数仓在 Shopee 的实践 - 墨天轮...

数据结构题型9-顺序栈

#include <iostream> //引入头文件 using namespace std;typedef int Elemtype;#define Maxsize 10 #define ERROR 0 #define OK 1typedef struct {Elemtype data[Maxsize];int top; }SqStack;void InitStack(SqStack& S) {S.top -1; } bool StackEmpty(SqStack…...

时间复杂度、空间复杂度

一、时间复杂度 1、概念 时间复杂度&#xff1a;计算的是当一个问题量级增加的时间&#xff0c;时间增长的趋势&#xff1b; O&#xff08;大O表示法&#xff09;&#xff1a;渐进的时间复杂度 2、举例 ① 以下 for 循环的时间复杂度&#xff1a;O(1 3n) O(n) 去掉常数…...

C++---多态

多态 前言多态的概念多态的定义及实现多态的构成条件虚函数虚函数的重写虚函数重写的两个例外协变(基类与派生类虚函数返回值类型不同)析构函数的重写 override和final 虚函数的默认参数 抽象基类 前言 在买火车票的时候&#xff0c;如果你是学生&#xff0c;是买半价票&#…...

Android 滑动事件消费监控,Debug 环境下通用思路

Android Debug 环境下滑动事件消费监控通用思路 背景 Android 开发中&#xff0c;经常会遇到滑动事件冲突。在一些简单的场景下&#xff0c;我们如果能够知道是那个 View 拦截了事件&#xff0c;那我们能够很容易得解决。解决方法通常就是内部拦截法或者外部拦截法。ViewPage…...

Unity中Shader用到的向量的乘积

文章目录 前言一、向量的乘法1、点积2、差积 二、点积&#xff08;结果是一个标量&#xff09;1、数学表示法2、几何表示法 三、叉积1、向量叉积的结果 与 两个相乘的向量互相垂直2、判断结果正负方向的方法&#xff1a;右手法则 前言 Unity中Shader用到的向量的点积 一、向量…...

帆软FineReport决策报表之页面布局

最近在用帆软决策报表绘制首页大屏&#xff0c;记录使用过程&#xff0c;方便查看。 版本&#xff1a;FineReport10.0 第一步、页面布局 页面布局其实就是组件的排列组合&#xff0c;决策报表主区域body有两种布局方式&#xff1a;自适应布局和绝对布局。 1&#xff09;自适应…...

[Linux入门]---进程的概念

文章目录 1.进程的概念①描述进程-PCB②task_struct-PCB的一种③task_ struct内容分类 2.查看进程3.通过系统调用获取进程表示符4.通过系统调用创建进程---fork初识 1.进程的概念 在我们的电脑开机的时候&#xff0c;操作系统会被加载到内存中&#xff0c;点击多个应用进行时&a…...

Leetcode—— 20.有效的括号

20. 有效的括号 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭…...

视频播放器的技术组成

Qt视频播放器实现&#xff08;目录&#xff09; 什么是视频 我们这里讲的视频&#xff0c;通常也包括了音频。因为没有声音的画面播放几乎是不可接受的。 这样暗含了一个事实&#xff0c;那就是视频总是包括视频数据和音频数据两部分。 Video 表示视频&#xff1b; Audio …...

Stable Diffusion 系统教程 | 强大的ControlNet 控制网

2023年的2月13日&#xff0c;一款名叫ControlNet的插件横空出世&#xff0c;AI绘画变得更加可控 ControlNet直译过来很简单&#xff0c;就叫做控制网&#xff0c;开发者是一名华裔&#xff0c;毕业于苏州大学&#xff0c;目前在斯坦福做读博士一年级&#xff0c;大佬大佬&…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...