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.rhkb.cn/news/275831.html

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

相关文章

【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)

微博爬虫记录 写这个主要是为了防止自己忘记以及之后的组内工作交接,至于代码美不美观,写的好不好,统统不考虑,我只能说,能跑就不错了,上学压根没学过python好吧,基本上是crtlc&ctrlv丝滑小…

Linux CentOS系统安装Spug并结合内网穿透实现远程访问本地运维平台

目录 前言 1. Docker安装Spug 2 . 本地访问测试 3. Linux 安装cpolar 4. 配置Spug公网访问地址 5. 公网远程访问Spug管理界面 6. 固定Spug公网地址 结语 作者简介: 懒大王敲代码,计算机专业应届生 今天给大家聊聊Linux CentOS系统安装Spug并结合…

Nodejs 第五十四章(net)

net模块是Node.js的核心模块之一,它提供了用于创建基于网络的应用程序的API。net模块主要用于创建TCP服务器和TCP客户端,以及处理网络通信。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,用于…

重塑语言智能未来:掌握Transformer,驱动AI与NLP创新实战

Transformer模型 Transformer是自然语言理解(Natural Language Understanding,NLU)的游戏规则改变者,NLU 是自然语言处理(Natural Language Processing,NLP)的一个子集。NLU已成为全球数字经济中AI 的支柱之一。 Transformer 模型标志着AI 新…

【学一点RISC-V】RISC-V IMSIC

IMSIC RISC-V AIA 文档 第三章 Incoming MSI Controller (IMSIC) 传入 MSI 控制器(IMSIC)是一个可选的 RISC-V 硬件组件,与 hart 紧密相连,每个 hart 有一个 IMSIC。IMSIC 接收并记录 Hart 的传入消息信号中断 (MSI),并…

【C语言】文件操作篇-----程序文件和数据文件,文件的打开和关闭,二进制文件和文本文件,fopen,fclose【图文详解】

欢迎来CILMY23的博客喔,本篇为【C语言】文件操作篇-----程序文件和数据文件,文件的打开和关闭,二进制文件和文本文件【图文详解】,感谢观看,支持的可以给个一键三连,点赞关注收藏。 前言 在了解完动态内存管…

QT:用opencv的KNN识别图片中的LED数字(一)

前言 一款功能测试的软件demo,使用了QT作为界面,主要使用了opencv的KNN识别,使用gstreamer作为管道,用来打开图片。后期会写一篇打开摄像头实时识别的文章。 (正在写,未完成,稍候) 效果一预览: 效果二预览: 效果三预览: 正在写。。。 设计思路 1. 软件UI设计 2. …

leetcode刷题(javaScript)——堆相关场景题总结

堆是什么?堆都能用树表示,并且一般树的实现都是利用链表。平时使用的最多的是二叉堆,它可以用完全二叉树表示,二叉堆易于存储,并且便于索引。在堆的实现时注意:因为是数组,所以父子节点的关系就…

Palworld幻兽帕鲁管理员操作手册

Palworld幻兽帕鲁管理员操作手册 大家好我是艾西,在我们搭建完幻兽帕鲁服务器后肯定会涉及到后期的维护比如:角色修改,帕鲁修改,异常删除,公会修改,清理玩家,清理建筑,存档迁移等数…

最新基于R语言lavaan结构方程模型(SEM)技术

原文链接:最新基于R语言lavaan结构方程模型(SEM)技术https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247596681&idx4&sn08753dd4d3e7bc492d750c0f06bba1b2&chksmfa823b6ecdf5b278ca0b94213391b5a222d1776743609cd3d14…

脚手架cli快速创建Vue2/Vue3项目

前言: 本文的nodejs版本是14.21.3 第一步 进入cmd窗口 1、全局安装webpack npm install webpack-g, npm install webpack-g 第二步 2、全局安装vue脚手架 npm install -g vue/cli 第三步 3、初始化vue项目 (vue脚手架使用webpack模…

ArcGIS学习(十五)用地适宜性评价

ArcGIS学习(十五)用地适宜性评价 本任务给大家带来的内容是用地适宜性评价。 用地适宜性评价是大家在平时工作中最常接触到的分析场景之一。尤其是在国土空间规划的大背景下,用地适宜性评价变得越来越重要。 此外,我们之前的任务主要是使用矢量数据进行分析。本案例是主讲…

多线程(volatile)

volatile的功能 保证内存可见性禁止指令重排序 内存可见性 简单的理解 两(多)个线程同时针对一个变量进行操作, 一个线程读, 一个线程修改, 此时读到的值不一定是修改过后的值 即读线程没有感知到变量的变化 (其实是 编译器/JVM 对于代码在多线程情况下的优化进行了误判) 从 J…

Vue3 + antv/x6 实现流程图

新建流程图 // AddDag.vue <template><div class"content-main"><div class"tool-container"><div click"undo" class"command" title"后退"><Icon icon"ant-design:undo-outlined" /…

初识Python语言-课堂练习【pyhton123题库】

初识Python语言-课堂练习【pyhton123题库】 一、单项选择题 1、Guido van Rossum正式对外发布Python版本的年份是&#xff1a; A 2008B 1998C 1991D 2002 【答案】C 【解析】暂无解析2、下面不是Python语言特点的是&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪…

无需编程技能:Python爬虫与数据可视化毕业论文代写服务

引言 作为一名在软件技术领域深耕多年的专业人士,我不仅在软件开发和项目部署方面积累了丰富的实践经验,更以卓越的技术实力获得了🏅30项软件著作权证书的殊荣。这些成就不仅是对我的技术专长的肯定,也是对我的创新精神和专业承诺的认可。我的专业知识涵盖了从前端界面设…

Visual Studio 2022之Release版本程序发送到其它计算机运行

目录 1、缺少dll​ 2、应用程序无法正常启动 3、This application failed to start because no Qt platform plugin could be initialized. 代码在Debug模式下正常运行&#xff0c;然后切换到Release模式下&#xff0c;也正常运行&#xff0c;把第三方平台的dll拷贝到exe所在…

honle电源维修UV电源控制器维修EVG EPS60

好乐UV电源控制器维修&#xff1b;honle控制器维修&#xff1b;UV电源维修MUC-Steuermodul 2 LΛmpen D-82166 主要维修型号&#xff1a; EVG EPS 60/120、EVG EPS 100、EVG EPS200、EVG EPS 220、EVG EPS 340、EVG EPS40C-HMI、EVG EPS60 HONLE好乐uv电源维修故障包括&#…

React组件(函数式组件,类式组件)

函数式组件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>React Demo</title> <!-- 引…

基于FPGA加速的bird-oid object算法实现

导语 今天继续康奈尔大学FPGA 课程ECE 5760的典型案例分享——基于FPGA加速的bird-oid object算法实现。 &#xff08;更多其他案例请参考网站&#xff1a; Final Projects ECE 5760&#xff09; 1. 项目概述 项目网址 ECE 5760 Final Project 模型说明 Bird-oid object …