C#实战 | 天行健、上下而求索

 本文介绍C#开发入门案例。

01、项目一:创建控制台应用“天行健,君子以自强不息”

项目说明:

奋斗是中华民族的底色,见山开山,遇水架桥,正是因为自强不息的奋斗,才有了辉煌灿烂的中华民族。今日之青年,是时代前列的奋进者,是勇立潮头的开拓者,理应自立自强,战胜险阻、破浪前行,努力成才!

为此,创建一个控制台应用,显示“天行健,君子以自强不息”。

项目实现步骤:

(1) 启动Visual Studio。

(2) 选择“文件”→“新建”→“项目”选项,弹出“创建新项目”窗口。

(3) “语言”选择C#,“平台”选择Windows,“项目类型”选择“控制台”,单击“下一步”按钮,弹出“配置新项目”窗口。

(4) 在“项目名称”文本框中输入ConsoleAppStrengthenSelf,单击“下一步”按钮,弹出“其他信息”窗口。

(5) 单击“创建”按钮,打开Visual Studio开发控制台应用界面。

(6) 在“代码编辑”窗口中,找到Main()方法,在该方法内编写代码如下。

 (7) 单击“启动”按钮或按F5键,弹出控制台窗口并显示结果:“天行健,君子以自强不息”,如图1-16所示。

■ 图1-16弹出控制台窗口并显示结果

项目小结:

(1) 在“解决方案资源管理器”窗口中,项目下有一个Program.cs文件,内有一个名为Main()的方法,该方法是程序的入口,C#程序都是从这开始执行的。执行语句可写在此处,如本项目案例的语句:

 

(2) Console类控制着控制台的输入、输出,常见方法有:Console.WriteLine(),输出一行,并换行;  Console.Write(),输出一行,不换行;  Console.ReadKey(),获取键盘按键值,可用来暂停控制台程序;  Console.ReadLine(),获取键盘输入的字符串。

(3) 控制台主要用于追求高效、便捷的场合,如服务器和系统运维、测试和自动化操作等。除此之外,一般需考虑开发用户体验更佳的图形用户界面应用,如Windows窗体应用、Web应用等。

02、项目二:创建Windows窗体应用“路漫漫其修远兮,吾将上下而求索”

项目说明: 

中国人从未停止不断求索,从屈原的“天问”,到航天“筑梦天宫”。国人历经数千年,不断前行,方有如今之成就。作为新时代青年,更应该勤学善思,刻苦钻研,主动探求真理,追求真知,为祖国的伟大复兴梦做出贡献!

为此,创建一个Windows窗体应用,在窗体上显示“路漫漫其修远兮,吾将上下而求索”。

项目实现步骤:

(1) 启动Visual Studio。

(2) 选择“文件”→“新建”→“项目”选项,弹出“创建新项目”窗口。

(3) “语言”选择C#,“平台”选择Windows,“项目类型”选择“桌面”,在列表中选择“Windows窗体应用”,单击“下一步”按钮,弹出“配置新项目”窗口。

(4) 在“项目名称”文本框中输入WindowsFormsAppSeekingTruth,单击“创建”按钮,打开Visual Studio开发Windows窗体应用界面。

■ 图1-17启动Windows窗体应用效果

(5) 单击左侧“工具箱”,打开“所有Windows窗体”选项卡,单击Label控件,将其拖曳到窗体中,如图1-13所示。

(6) 右击窗体中的Label控件,在弹出的快捷菜单中选择“属性”选项,在“属性”框中设置Text属性值为“路漫漫其修远兮,吾将上下而求索”。

(7) 单击“启动”按钮或按F5键,启动应用,效果如图1-17所示。

项目小结:

(1) 在“解决方案资源管理器”窗口中,本案例项目下,同样有Program.cs文件,内有程序的入口Main()方法,主要作用为显示指定窗体,代码如下所示。

 

方法中最后一条语句“Application.Run(new Form1());”的作用是:创建Form1窗体,并使之可见。为此,当启动Windows窗体应用后,会显示Form1窗体界面。

(2) 项目编译后的结果放在项目的bin文件夹下。在“解决方案资源管理器”窗口中,右击项目,在弹出的快捷菜单中选择“在文件资源管理器中打开文件夹”选项,展开bin文件夹,再展开Debug文件夹,可发现有.exe文件,即Windows窗体应用可执行文件。本项目案例中名为WindowsFormsAppSeekingTruth.exe,双击该.exe文件即可运行。

(3) Windows窗体应用采用视窗化的图形界面,用户体验更佳,相对于枯燥的控制台更容易让用户接受。借助Visual Studio开发工具,通过拖曳控件并设置其属性,可快速搭建应用的窗体界面。

Windows窗体应用是基于事件驱动的应用。通过单击控件、键盘输入文本框等操作,触发控件事件处理相应的操作,可达到用户交互效果。具体如何实现控件事件处理,将在后续章节中进行学习。

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

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

相关文章

xmind--如何快速将Excel表中多列数据,复制到XMind分成多级主题

每次要将表格中的数据分成多级时,只能复制粘贴吗 快来试试这个简易的方法吧 这个是原始的表格,分成了4级 步骤: 1、我们可以先按照这个层级设置下空列(后买你会用到这个空列) 二级不用加、三级前面加一列、四级前面加…

#和private有什么区别?

先上代码: class Person {#salary: numberconstructor(salary: number, private name: string) {this.#salary salaryconsole.log(this.#salary) // 可以访问私有属性console.log(this.name) // 可以访问公共属性} }const person new Person(1000, 张三); // co…

MAT使用

概念 Shallow heap & Retained Heap Shallow Heap就是对象本身占用内存的大小。 Retained Heap就是当前对象被GC后,从Heap上总共能释放掉的内存(表示如果一个对象被释放掉,那会因为该对象的释放而减少引用进而被释放的所有的对象(包括…

leetcode位运算(1684. 统计一致字符串的数目)

前言 经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。后续开始专项练习。 描述 给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。 请…

Python-for-Android:把你的Python应用打包为APK文件

Python-for-Android(简称p4a)是一个开发工具,它可以将Python应用打包成可以在Android设备上运行的二进制文件。它是基于开源框架Kivy开发的,旨在为开发者提供在移动设备上轻松运行Python应用的解决方案。 什么是Python-for-Androi…

MyBatis Plus 实现中文排序的两种有效策略

前言 在MyBatis Plus项目开发中,针对中文数据的排序需求是一个常见的挑战,尤其是在需要按照拼音或特定语言逻辑排序时。本文整合了两种有效的方法,旨在帮助开发者克服MyBatis Plus在处理中文排序时遇到的障碍,确保数据能够按照预…

【React】JSX 实现列表渲染

文章目录 一、基础语法1. 使用 map() 方法2. key 属性的使用 二、常见错误和注意事项1. 忘记使用 key 属性2. key 属性的选择 三、列表渲染的高级用法1. 渲染嵌套列表2. 条件渲染列表项3. 动态生成组件 四、最佳实践 在 React 开发中,列表渲染是一个非常常见的需求。…

【多模态】CLIP-KD: An Empirical Study of CLIP Model Distillation

论文:CLIP-KD: An Empirical Study of CLIP Model Distillation 链接:https://arxiv.org/pdf/2307.12732 CVPR 2024 Introduction Motivation:使用大的Teacher CLIP模型有监督蒸馏小CLIP模型,出发点基于在资源受限的应用中&…

【WPF开发】控件介绍-button(按钮)

基本介绍 按钮(button)控件的作用 按钮控件(Button)是用户界面(UI)设计中最基本的元素之一,其主要作用包括: 触发操作:用户通过点击按钮来执行一个命令或触发一个事件&…

【网络】tcp_socket

tcp_socket 一、tcp_server与udp_server一样的部分二、listen接口(监听)三、accept接收套接字1、为什么还要多一个套接字(明明已经有了个socket套接字文件了,为什么要多一个accept套接字文件?)2、底层拿到新…

从R-CNN到Faster-R-CNN的简单介绍

1、R-CNN RCNN算法4个步骤 1、一张图像生成1K~2K个候选区域(使用Selective Search方法) 2、对每个候选区域,使用深度网络提取特征 3、特征送入每一类的SVM分类器,判别是否属于该类 4、使用回归器精细修正候选框位置 R-CNN 缺陷 : 1.训练…

MySQL 存储引擎详解

MySQL 存储引擎详解 MySQL 是一个关系数据库管理系统,它的一个显著特性是支持多种存储引擎。每种存储引擎都有其独特的功能、优点和限制。选择合适的存储引擎对于数据库性能、可靠性和可维护性至关重要。下面详细介绍几种常见的 MySQL 存储引擎,包括 In…

Java使用AsposePDF和AsposeWords进行表单填充

声明:本文为作者Huathy原创文章,禁止转载、爬取!否则,本人将保留追究法律责任的权力! 文章目录 AsposePDF填充表单adobe pdf表单准备引入依赖编写测试类 AsposeWord表单填充表单模板准备与生成效果引入依赖编码 参考文…

【语音识别和生成】语音识别和语音合成技术

语音识别和生成:语音识别和语音合成技术 目录 引言语音识别技术 语音识别的基本原理语音识别系统的组成语音识别的关键技术 语音合成技术 语音合成的基本原理语音合成系统的组成语音合成的关键技术 语音识别和生成的应用 智能助理智能家居语音翻译医疗健康教育和学…

【C语言】链式队列的实现

队列基本概念 首先我们要了解什么是队列,队列里面包含什么。 队列是线性表的一种是一种先进先出(First In Fi Out)的数据结构。在需要排队的场景下有很强的应用性。有数组队列也有链式队列,数组实现的队列时间复杂度太大&#x…

qt 应用正在运行时,如何更新升级exe文件

在Qt应用正在运行时,直接替换同名的.exe文件可能会导致文件正在使用中的错误。为了安全地更新.exe文件,你可以采取以下步骤: 创建一个临时的.exe文件。 等待当前.exe文件的进程关闭。 删除原有的.exe文件。 将临时.exe文件重命名为原有的.…

【数据结构 | 哈希表】一文了解哈希表(散列表)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

国科大作业考试资料-人工智能原理与算法-2024新编-第五次作业整理

1、本题以井字棋(圈与十字游戏)为例练习博弈中的基本概念。定义X_n为恰好有n个X而没有O 的行、列或者对角线的数目。同样O_n为正好有n 个O的行、列或者对角线的数目。效用函数给 X_3=1的棋局+1, 给O_3=1的棋局-1。所有其他终止状态效用值为0。对于非终止状态,使用线性的 …

虚拟局域网配置与分析-VLAN

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、相关知识 虚拟局域网(Virtual Local Area Network,VLAN)是一组逻辑上的设备和用户;不受物理位置的…

vue网络请求

post网络请求 import axios from axios import {ElMessage, ElLoading} from "element-plus" import { nextTick } from "vue" import JSONbig from json-bigint import { userToken } from "/constants/Constant.js";const defaultConfig {bas…