C#快速入门基础

本篇文章从最基础的C#编程开始学习,经过非常优秀的面向对象编程思想和方法的学习,为C#编程打下基础。

第 01 章 C#开发环境之VS使用和.NET平台基础

1.1 Visual Studio 开发环境

1.1.1 硬件环境

 i5CPUi5CPU(建议 4核 4线程或以上 ,新机器 6核以上最好 )+ 8G 内存 (有条件的 16G16G) + 至少 200 G系统 固态硬盘,电脑时间不要超过 4年最好。如果是笔记本 CPU 至少 i7 ,否则运行会慢。

1.1.2 操作系统

建议 win10 ,如果是 win7 需要 64 位。

1.1.3 编程语言软件

首先要安装的就是 VS2019 ,如果有新的版本,请按照新阁教育官方的建安装,不要随便自己装 ,如果 已经安装过 其他 低版本,可以保留同时安装 2019 即可,不要轻易除其他版本,否则会面临再次安装不上的情况。

1.2 Debug 和 Release 的区别

1.2.1 概念上的不同

Debug 的意思是调试, 也就是我们尝试着运行一下程序。在运行中,可以通过断点观察程序的执行过程。 Release 的意思发布,也就是我们的程序开发和调试都成功了, 这个时候 可以选择发布程序。正式 作为生产环境的应用软件。

1.2.2 断点与调试

Debug 在任何情况下,都可以打断点观察变量。 可以打断点后 让程序一行一行的执行。从而观察程序逻辑和变量的值。而 ReleaRelease 在很多情况下 无法直接断点,并且观察数据可能存在不正确的情况。

1.2.3 生成与优化

Debug 所生成的文件,包含很多调试信息,生成的文件比较大。不做任何的优化代码任务 ,仅供 项目开发过程中使用 。Release 不包含调试信息,生成的文件较小。有时候需要做性能优化,以便提升运行速度。项目结束最后使用 Release 发布。

第 02 章 命名空间和类、数据类型、变量和代码规范

2.1 命名空间的重要作用

命名空间 ,又称为 “名称空间”。命名空间,分为系统的命名空间和自定义命名空间。命名空间的名字默认和项目的名字是一样的。

2.1.1 命名空间使用规范和注意问题

必须把命名空间的名字放到关键字namespace 后面,并且命名空间不能用数字和特殊字符开始,建议大家都用字母开头。 当我们引入一个命名空间的时候使用 using 关键字,后面跟上命名空间 的名称。

需要注意的问题:

第一 ,命名空间没有包含关系的说法。

第二、项目设计中,命名空间通常会统一规范,通常是自己的项目团队给出标准 。

第三、命名空间不建议随便修改。
第四、命名空间不正确的使用,会导致类无法访问。

第五、写的类一定要写在命名空间里面。

2.2 类的组成和使用分析

类是程序的基本单元。

2.2.1 类的内容组成

软件所封装的这些功能无非就是数据处理和业务逻辑处理

在这里,我们再把命名空间、类的关系,通过下面的图做一个整理:

通过这个图也可以清楚的看到,一个类的内部通常包括字段、属性、构造方法、实例方法等

针对类的访问修饰符我们常用的是 public和 internal,当我们使用 public修饰的时候,表示这个类在任何地方都可以被使用。如果我们对类没有做任何的修饰,默认就是interanl,表示内部的。

说到访问修饰符,必须要强调一下,在类的内部所有的成员都有修饰符,比如字段,我们一般使用 private表示只能在类的内部使用; 属性一般都是 public;方法可以 public也可以 private。

2.3 C#的数据类型和变量

2.3.1 C# 常用数据类型概述

在C#中常用的数据类型可以分为两大类,分别 是“数值型 ”和“引用类型 “。其中 值类型包括整型、浮点型、字符型、布尔型、枚举 、日期 型等;引用类型包括类、接口、数组、委托、字符串等。

2.3.2 C# 中的值类型

整型 ,就是存储整数的类型,按照存储值的范围不同, C# 语言将整型分成了 byte 类型、 short类型、 int 类型、 long 类型等,并分别定义了有符号数和无符号数。有符号数可以表示负数,无符号数仅能表示正数。 常用的整数类型及其表示范围如下表所示:

类型取值范围
byte无符号数,占用1个字节,0~2^3-1
short有符号数,占用 2个字节, -2^{15}2^{15} -1
int有符号数,占用 4个字节, ,-2^{31}2^{31}-1
long有符号数,占用 8个字节, ,-2^{63}2^{63}-1
sbyte有符号数,占用 1个字节, ,-2^{7}2^{7}-1
ushort无符号数,占用 2个字节, ,0〜2^{16} -1
uint无符号数,占用 4个字节, ,0〜2^{32} -1
ulong无符号数,占用 8个字节, ,0〜2^{64} -1

浮点型 ,是指小数类型,浮点型在 C# 语言中共有两种, 分别是单精度浮点型和双精度浮点型。具体使用如下表所示。

类型取值范围
float单精度浮点型,占用 4个字节,最多保留 7位小数
double双精度浮点型,占用8个字节,最多保留 16 位小数

字符型, 只能存放一个字符, 占用两个字节,能存放一个汉字。字符型用 char 关键字表示,存放到 char 类型的字符需要使用单引号括起来,例如 'a' 、'汉' 等。
字符串类型, 能存放多个字符,它是一个引用类型,在字符串类型中存放的字符数可以认为是没有限制的,因为其使用的内存大小不是固定的而是可变的。使用 string 关键字来存放字符串类型的数据。字符串类型的数据必须使用双引号括起来,例如"abc" 、"123" 等。

在 C# 语言中还有一些特殊的字符串,代表了不同的特殊作用。由于在声明字符串类型的数据时需要用双引号将其括起来,那么双引号就成了特殊字符,不能直接输出, 这就需要转义字符,因此“转 义字符 ”的作用就是输出这个有特殊含义的字符。转义字符非常简单,常用的转义字符如下所示。

转移等价字符
\‘单引号
\"双引号
\\反斜杠
\r回车
\n换行
\t水平制表符

布尔类型 ,在 C# 中布尔类型使用 bool 来声明,它只有两个值,即 true 和 false 。当某个值只有两种状态时可以将其声明为布尔类型。布尔类型的值被经常用到条件判断的语句中
日期类型, 在 C# 中,使用 datetime 来表示日期类型。

2.3.3 C#中变量的基本使用

变量表示一个数据存储空间, 也就是内存地址的别名 。

变量定义的三个要素变量类型,用来规定变量的数据类型。变量名称,起名要有意义,好记忆。变量的值,变量对应的具体内存数据。

2.3.4 C#中变量的命名规范

C#语言严格区分大小写! 比如我们写的 Name和 name是两个不同的变量,这点要特别注意。这里把常用的命名 规范 给大家总结如下:
第一、类、属性、方法命名使用 Pascal命名法,也就是首字母大写。比如 Person类、SubjectScore类;属性 Name、Age、DateOfBirth;方法 Add、GetResult、QueryScore等。
第二、 变量命名规范 。变量组成由英文字母( A~Z,a~z)、数字 0~9)、下划线 (_),除此之外不能含有其他字符。 变量开头只能以字母或下划线开头比如 _age,禁止使用 C#关键字( 如int、this、 class...),特别注意“$”符号在 C#中也不能使用
第三、命名要有意义。 尽量用对应的英文命名,比如年龄使用 age,除循环变量外,尽量不用单个字符 命名变量 。方法内的局部变量使用 Camel(意思是骆驼 命名法,首字母小写。比如 stuName、stuAge。

2.4 程序注释和MSDN帮助文档

2.4.1 程序注释的方法

正确使用注释 ,对代码做出说明, 可以便别人阅读和后续维护使用。 作为开发者能否规范写出注释也是非常重要的。不过我们要清楚注释是不参与编译的, 也就是对程序本身没有任何响。
注释类型分为单行注释和文档注释。单行注释是对单独一条语句做的注释,使用两个//表示文档注释一般都是在方法、类等的前面做的注释,内容会更多,注释的时候需要使用三个斜杠 ///同按回车键,自动生成注释结构。

关于注释的建议:关键性的语句要添加注释 ;类名前应该使用文档注释,说明类的简单功能和使用方法。复杂方法前面应使用文档注释,说明方法的功能、参数的含义、返回值等。

2.4.2 MSDN 的使用

我们在学习中经常会遇到不懂的内容,尤其是阅读别人代码的时候,遇到不懂的语句,如果是系统提供的方法或者类,我们的第一手最好的帮助文档就是 MSDN,这个是微软官方给的最全的文档, 虽然有的地方解释可能比较苦涩,毕竟是翻译的,但它是最全面的。所以,大家必须学会使用。方法就是,我们想看一个类或方法的时候,用鼠标点击一下,然后按 F1功能键就行了,只要你的电脑联网,直接就把在线文档打开了。

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

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

相关文章

第五十四回 高太尉大兴三路兵 呼延灼摆布连环马-AI通过构建并训练CNN网络来进行飞机识别

呼延灼举荐了百胜将韩滔和天目将彭玘做先锋。 两军对战,韩滔和秦明斗二十回合,呼延灼与林冲斗在一起,花荣与彭玘斗在一处,后彭玘与一丈青扈三娘斗在一起,被扈三娘抓住。 尽管梁山占优,宋江也没有乘胜追击&…

this.$set,更新vue视图

this.$set(this.searchForm, age, 30) // 对象 this.$set(this.searchForm1, 0, { name: 汪汪, age: 11, content: 擅长口算 })// 数组

帮管客CRM jiliyu接口存在SQL漏洞 附POC软件

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 帮管客CRM简介 微信公众号搜索:南风漏洞复现文库…

如何配置IDEA中的JavaWeb环境(2023最新版)

创建项目 中文版:【文件】-【新建】-【项目】 点击【新建项目】,改好【名称】点击【创建】 右键自己建立的项目-【添加框架支持】(英文版是Add Framework Support...) 勾选【Web应用程序】-【确定】 配置tomcat 点击编辑配置 点…

人民网发稿多少钱?媒介多多告诉你答案!附人民网各频道报价表

你是否也想知道在人民网发稿需要多少钱?媒介多多告诉你答案!人民网是国内权威新闻平台之一,拥有大量忠实读者群体。想要在人民网上发稿进行推广,是很多企业和个人的选择。那么,人民网发稿到底需要多少钱呢?…

云计算,用价格让利换创新空间?

文 | 智能相对论 作者 | 李源 ECS(云服务器)最高降36%、OSS(对象存储)最高降55%、RDS(云数据库)最高降40%…… 阿里云惊人的降幅,一次性把国内云计算厂商的价格战推到了白热化阶段。 这次能…

魔众智能AI系统v2.1.0版本支持主流大模型(讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini)

支持主流大模型(讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini) [新功能] 系统全局消息提示 UI 全新优化 [新功能] JS 库增加【ijs】类型字符串,支持默认可执行代码 [新功能] 分类快捷操作工具类 CategoryUtil [新功能…

接口自动化测试从入门到高级实战!

接口测试背景和必要性 接口测试是测试系统组件间接口(API)的一种测试,主要用于检测内部与外部系统、内部子系统之间的交互质量,其测试重点是检查数据交换、传递的准确性,控制和交互管理过程,以及系统间相互…

鸿蒙开发(二)-项目结构

鸿蒙开发(二)-项目结构 上篇文章我们讲了如何配置鸿蒙开发的基础环境,以及创建了第一个鸿蒙程序。 这篇我们讲述了鸿蒙应用的项目目录结构。 如图所示:我们切换项目project可以看到。 另一种则是Ohos模式: AppScope->app.json5 应用的全局配置 {&q…

300分钟吃透分布式缓存-26讲:如何大幅成倍提升Redis处理性能?

主线程 Redis 自问世以来,广受好评,应用广泛。但相比, Memcached 单实例压测 TPS 可以高达百万,线上可以稳定跑 20~40 万而言,Redis 的单实例压测 TPS 不过 10~12 万,线上一般最高也就 2~4 万,…

【算法沉淀】最长回文子串

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《数据结构与算法:初学者入门指南》📘&am…

element-ui 中 upload组件 如何传递额外的参数 ?

参考elementui 文档 如何通过data 进行额外传递参数&#xff1f;(:data"uploadData") <el-uploadref"fileUploadBtn1"class"upload-demo"accept".xls,.xlsx" :limit"1" :action"uploadFileUrl" :on-success&q…

jvm堆概述

《java虚拟机规范》中对java堆的描述是&#xff1a;所有的对象实例以及数组都应当在运行时分配在堆上。 一个JVM实例只存在一个堆内存(就是new 出来一个对象)&#xff0c;java内存管理的核心区域 java堆区在jvm启动的时候就被创建&#xff0c;空间大小确定。是jvm管理的最大一…

通过Step Back提示增强LLM的推理能力

原文地址&#xff1a;enhancing-llms-reasoning-with-step-back-prompting 论文地址&#xff1a;https://arxiv.org/pdf/2310.06117.pdf 2023 年 11 月 6 日 Introduction 在大型语言模型不断发展的领域中&#xff0c;一个持续的挑战是它们处理复杂任务的能力&#xff0c;这…

图形库实战丨C语言扫雷小游戏(超2w字,附图片素材)

目录 效果展示 游玩链接&#xff08;无需安装图形库及VS&#xff09; 开发环境及准备 1.VS2022版本 2.图形库 游戏初始化 1.头文件 2.创建窗口 3.主函数框架 开始界面函数 1.初始化 1-1.设置背景颜色及字体 1-2.处理背景音乐及图片素材 1-3.处理背景图位置 2.选…

Linux服务器安装jdk

背景: 安装JDK是我们java程序在服务器运行的必要条件,下面描述几个简单的命令就可再服务器上成功安装jdk 命令总览: yum update -y yum list | grep jdk yum -y install java-1.8.0-openjdk java -version 1.查看可安装版本 yum list | grep jdk 2.如果查不到可先进行 yum upd…

leetcode 热题 100_缺失的第一个正数

题解一&#xff1a; 正负模拟哈希&#xff1a;偏技巧类的题目&#xff0c;在无法使用额外空间的情况下&#xff0c;只能在原数组中做出类似哈希表的模拟。除去数值&#xff0c;我们还可以用正负来表示下标值的出现情况。首先&#xff0c;数组中存在正负数和0&#xff0c;而负数…

猫头虎分享已解决Bug || 数据中心断电:PowerLoss, DataCenterBlackout

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

通过Annotation将用户操作记录到数据库表功能实现

一、背景 在用户对我们所开发的系统访问的时候&#xff0c;需要我们的系统具有强大的健壮性&#xff0c;使得给与用户的体验感十足。在业务开发的过程中&#xff0c;我们通过将几个相关的操作绑定成一个事件&#xff0c;使得安全性以及数据的前后一致性得到提高。但是在溯源方面…