2.1 第一个程序:从 Hello World 开始

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

同大多数编程语言教程一样,本书第一个代码也是输出:Hello world! 这似乎也是惯例。我们也先从这个简单的代码开始。

2.1.1 控制台应用程序

控制台应用程序类似于以前的Dos下的程序,但是编译出来的程序仍然是Windows下的应用程序,不能在Dos下运行。控制台应用程序没有图形界面,适合后台程序、服务程序等。在讲解窗体程序前,先通过控制台应用程序来掌握一些基础的编程知识。

2.1.2 控制台应用程序的创建

【例 2.1【项目:code2-001】控制台应用程序基本代码。

以下是操作步骤:

启动VisualStudio后出现【起始页】窗口,点击【创建新项目】:

图2-1 【起始页】窗口

进入【创建新项目】窗口,选择【C#】、【Windows】、【控制台】,再选中【控制台应用(.Net Framework)】,注意不要选成了【控制台应用】,这两种类型的项目不一样。点击【下一步】:

图2-2 【新建项目】窗口

在出现的【配置新项目】窗口中,【输入项目名称】设置为:code2-001,注意:名称亦即项目的程序集名称,编译后的运行程序的默认名称。【位置】选择需要保存的目录,这里是:C:\save\CSharp\2,整个项目涉及的文件都会保存到C:\save\CSharp\2\code2-001这个文件夹下面。【解决方案名称】和【将解决方案和项目放在同一目录中】这两项保持默认。【框架】根据客户需要来创建,如果客户电脑用的框架比较老,那么就选择版本低的,比如.Net Framework 2.0;通常使用默认的。点击【创建】:

图2-2 【配置新项目】窗口

进入代码编写界面,可以看到VS已经创建了一些基本代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace code2_001

{

    class Program

    {

        static void Main(string[] args)

        {

        }

    }

}

其中,Main(string[] args)是所有应用程序必须有的方法,它是该应用程序的起始点。

另外需要注意的是:C#中命名空间(关于命名空间,详细见【6.17】节)的命名约定,只能包含字母、数字和下划线(_),不能包含特殊字符(如连字符-)所以namespace code2_001而不是namespace code2-001

目前这个示例只是演示创建项目的大致流程,运行后什么都没有。

【例 2.2【项目:code2-002】Hello World代码。

向Main()过程中加入代码:

     static void Main(string[] args)

     {

         Console.WriteLine("Hello world!");

}

通过以上代码可以看到:

1、C#通过大括号({})来表示代码块;

2、每句代码结束都有个;(英文分号)。

一点小提示:经常在写代码的时候会遇到代码缩进不工整的时候,只需要删除行末的分号,再重新输入分号,那么改行将自动调整缩进;另外一个方法是,删除代码块末尾的大括号,再重新输入大括号,那么将调整代码块的缩进。

另外,代码中的Console.WriteLine方法将括号内的文本输出到控制台,后面章节会做介绍。

2.1.3 控制台应用程序的运行

点击工具栏【启动】按钮 ,或者菜单【调试】|【开始调试】,或者按下“F5”键,以上几个方法都可以进入运行。

这时可以看到一个控制台窗口一闪而过。不用怀疑,我们已经成功运行了代码。

打开【命令提示符】程序,然后进入生成的可执行文件所在目录,找到并运行“code2-002.exe”(此示例保存路径为:C:\save\CSharp\2\code2-002\code2-002\bin\Debug),即可看到输出“Hello World!”:

图2-2 Hello World程序运行结果

注意:由于当前运行是在Debug模式下,所以生成的程序路径在保存的项目文件夹 bin\Debug 下。

如果想在VS中运行时就能看到结果,可以将代码修改为以下内容:

【例 2.3【项目:code2-003】在调试时查看控制台的输出。

        static void Main(string[] args)

        {

            Console.WriteLine("Hello world!");

            Console.WriteLine("按下任意键退出。。。");

            Console.ReadKey();

        }

运行后,程序需要按下任意按键,程序才会退出。

图2-3 修改后的Hello World程序运行结果

代码中的Console.ReadKey方法获取用户按下的键盘按键,如果用户不按下,那么将一直等待。

2.1.4 控制台应用程序的保存

突如其来的停电、死机甚至代码本身造成VS崩溃……都可能使辛辛苦苦写好的代码丢失,因此建议随时保存写好的代码特别是在调试前,笔者个人习惯于每完成一定功能后立即保存项目。当然有时候只是想测试一下某段简单的程序,也大可不必保存,测试完成后直接关闭VS。

项目操作方法是:单击工具栏上的【保存】按钮,或者菜单【文件】|【保存XXX(当前打开的文件名称)】,保存当前正在编辑的文件;单击工具栏上的【全部保存】按钮,或者菜单【文件】|【全部保存】,保存此项目的所有文件。首次保存时,请选择【全部保存】。

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23630.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年02月21日Github流行趋势

项目名称:source-sdk-2013 项目地址url:https://github.com/ValveSoftware/source-sdk-2013项目语言:C历史star数:7343今日star数:929项目维护者:JoeLudwig, jorgenpt, narendraumate, sortie, alanedwarde…

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 配置

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 配置 前言整体思路安装 WSL2Windows 环境升级为 WIN11 专业版启用window子系统及虚拟化 安装WSL2通过 Windows 命令提示符安装 WSL安装所需的 Linux 发行版(如 Ubuntu 20.04)查看和设置 WS…

7.建立文件版题库|编写model文件|使用boost split字符串切分(C++)

建立文件版题库 题目的编号题目的标题题目的难度题目的描述,题面时间要求(内部处理)空间要求(内部处理) 两批文件构成第一个:questions.list : 题目列表(不需要题目的内容)第二个:题目的描述,题目的预设置…

LabVIEW中CFURL.llb 工具库说明

CFURL.llb 是 LabVIEW 2019 安装目录下 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform\ 路径下的工具库,主要用于处理 LabVIEW 与 URL 相关的操作,涵盖 URL 解析、HTTP 请求发送、数据传输等功能模块,帮助开发者…

网络运维学习笔记 017 HCIA-Datacom综合实验01

文章目录 综合实验1实验需求总部特性 分支8分支9 配置一、 基本配置(IP二层VLAN链路聚合)ACC_SWSW-S1SW-S2SW-Ser1SW-CoreSW8SW9DHCPISPGW 二、 单臂路由GW 三、 vlanifSW8SW9 四、 OSPFSW8SW9GW 五、 DHCPDHCPGW 六、 NAT缺省路由GW 七、 HTTPGW 综合实…

6.✨Python学习价值与优势分析

✨Python 是一种值得深入学习的编程语言,其设计哲学、广泛的应用场景以及强大的社区支持使其成为当今最受欢迎的编程语言之一。以下从多个角度分析为什么 Python 值得深入学习: 1.🦋 简洁易学的语法 Python 以简洁、可读性强著称&#xff0c…

Android Audio其他——数字音频接口(附)

数字音频接口 DAI,即 Digital Audio Interfaces,顾名思义,DAI 表示在板级或板间传输数字音频信号的方式。相比于模拟接口,数字音频接口抗干扰能力更强,硬件设计简单,DAI 在音频电路设计中得到越来越广泛的应用。 一、音频链路 1、模拟音频信号 可以看到在传统的…

Spring AI + Ollama 实现调用DeepSeek-R1模型API

一、前言 随着人工智能技术的飞速发展,大语言模型(LLM)在各个领域的应用越来越广泛。DeepSeek 作为一款备受瞩目的国产大语言模型,凭借其强大的自然语言处理能力和丰富的知识储备,迅速成为业界关注的焦点。无论是文本生…

2.3 变量

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 变量是用来存放某个值的数据,它可以表示一个数字、一个字符串、一个结构、一个类等。变量包含名称、类型和值。在代码中…

LLM大语言模型私有化部署-使用Dify的工作流编排打造专属AI诗词数据分析师

背景 前面的文章通过 Ollama 私有化部署了 Qwen2.5 (7B) 模型,然后使用 Docker Compose 一键部署了 Dify 社区版平台。 LLM大语言模型私有化部署-使用Dify与Qwen2.5打造专属知识库:在 Dify 平台上,通过普通编排的方式,创建了基于…

ESP32S3:参考官方提供的led_strip组件使用 SPI + DMA 方式驱动WS2812 RGB灯的实现思路 (实现各个平台移植使用该方式)

目录 引言使用SPI + DMA 方式实现思路分析1. 查看WS2812的datasheet手册2. 根据官方的led_strip组件的方式,自己手把手实现一遍3.完整的程序(实现霓虹灯效果)引言 参考官方提供的led_strip组件使用 SPI + DMA 方式驱动WS2812 RGB灯的实现思路,只有明白实现的思路,方能将其…

工程师 - VSCode的AI编码插件介绍: MarsCode

豆包 MarsCode MarsCode AI: Coding Assistant Code and Innovate Faster with AI 豆包 MarsCode - 编程助手 安装完成并使能后,会在下方状态栏上显示MarsCode AI。 安装完并重启VSCode后,要使用这个插件,需要注册一下账号。然后授权VSCod…

DPVS-5: 后端服务监控原理与测试

后端监控原理 被动监测 DPVS自带了被动监控,通过监控后端服务对外部请求的响应情况,判断服务器是否可用。 DPVS的被动监测,并不能获取后端服务器的详细情况,仅仅通过丢包/拒绝情况来发觉后端服务是否可用。 TCP session state…

Tag标签的使用

一个非常适合运用在vue项目中的组件:Tag标签。 目录 一、准备工作 1、安装element-plus库 2、配置element-plus库 二、Tag标签入门 1、打开element官网,搜索tag标签 2、体验Tag标签的基础用法 三、Tag标签进阶训练1 1、定义一个数组,…

算法-图-数据结构(邻接矩阵)-BFS广度优先遍历

邻接矩阵广度优先遍历(BFS)是一种用于遍历或搜索图的算法,以下是具体介绍: 1. 基本概念 图是一种非线性的数据结构,由顶点和边组成,可分为无向图、有向图、加权图、无权图等。邻接矩阵是表示图的一种数…

Ryu:轻量开源,开启 SDN 新程

1. Ryu 控制器概述 定位:轻量级、开源的SDN控制器,专为开发者和研究人员设计,基于Python实现。开发者:由日本NTT实验室主导开发,遵循Apache 2.0开源协议。核心理念:简化SDN应用开发,提供友好的…

内容中台架构下智能推荐系统的算法优化与分发策略

内容概要 在数字化内容生态中,智能推荐系统作为内容中台的核心引擎,承担着用户需求与内容资源精准匹配的关键任务。其算法架构的优化路径围绕动态特征建模与多模态数据融合展开,通过深度强化学习技术实现用户行为特征的实时捕捉与动态更新&a…

【odoo18-文件管理】在uniapp上访问odoo系统上的图片

在uniapp上访问odoo系统上的图片 1、以url的形式访问 a:以odoo本身的域名,比如http://127.0.0.1:8069/web/image/product.template/3/image_128?unique1740380422000,这种方式需要解决跨域的问题。 b:以文件服务器的形式&…

DeepSeek掘金——基于DeepSeek-R1构建文档问答机器人

DeepSeek掘金——基于DeepSeek-R1构建文档问答机器人 在这个项目中,我们将结合本地 AI 的隐私与 Deepseek R1 的智能,创建一个完全本地化、推理驱动的问答机器人。 在人工智能 (AI) 日益融入我们日常生活的时代,一个问题仍然处于最前沿:隐私。尽管基于云的 AI 系统功能强大…

计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…