C#快速入门基础

news2024/11/15 1:49:06

本篇文章从最基础的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.coloradmin.cn/o/1516170.html

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

相关文章

如何在Windows系统安装Node.js环境并制作html页面发布公网远程访问?

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

Pygame教程06:Event事件的类型+处理方法+监听鼠标事件

------------★Pygame系列教程★------------ Pygame教程01:初识pygame游戏模块 Pygame教程02:图片的加载缩放旋转显示操作 Pygame教程03:文本显示字体加载transform方法 Pygame教程04:draw方法绘制矩形、多边形、圆、椭圆、弧…

Redis到底是单线程还是多线程!,【工作感悟】

无论你是做 Python,PHP,JAVA,Go 还是 C#,Ruby 开发的,都离不开使用 Redis。 大部分程序员同学工作中都有用到 Redis,但是只限于会简单的使用,对Redis缺乏整体的认知。 无论是在大厂还是在中小…

Java面试题之线程

1. 进程和线程的区别 进程是资源分配的基本单位;线程是任务调度执行的基本单位;进程的创建和销毁消耗的资源都比线程要多;多个进程之间的内存资源是独立的;在一个进程中多个线程之间的内存资源是共享的; 一个进程中包…

Shell常用脚本:文件或目录一键同步到多台服务器

注意: 将本地文件,同步到【/opt/module/script/xsyncByFileIp.txt】里面的目标机器 xsyncByFile.sh #!/bin/bash# 入参参数个数 argsCount$#if(($argsCount0)); thenecho "同步失败:请输入待同步的文件或者目录" exit; fiecho &q…

分享几个Google Chrome谷歌浏览器历史版本下载网站

使用selenium模块的时候,从官网下载的谷歌浏览器版本太高,驱动不支持,所以需要使用历史的谷歌浏览器版本 ,这里备份一下以防找不到了。 驱动下载地址:https://registry.npmmirror.com/binary.html?pathchromedriver 文…

低代码与AI:构建面向未来的智能化应用

引言 在当今数字时代,技术的快速发展为各行各业带来了前所未有的机遇和挑战。企业和组织面临着如何迅速开发和交付高质量应用的需求,同时还需要应对日益复杂的业务需求和用户期望。在这样的背景下,低代码与人工智能(AI&#xff0…

打卡学习kubernetes——了解k8s基本概念

目录 1 Container 2 Pod 3 Node 4 Namespace 5 Service 6 Label 7 Annotations 8 Volume 1 Container Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术。它使用namespace隔离不同的软件运行环境,并通过镜像自包含软件的运行环境,从而…

如何打造“标准化的仓库”?4个环节5大方面看这里...

仓库管理,在保障企业物流运作效率、降低运营成本、提高客户服务质量等方面发挥着不可替代的作用。标准化、规范化管理作为仓库管理中的重要手段,不仅能够提高管理效率,还能够有效地降低管理风险,使仓库运作更加安全、稳定、高效。…

数据结构:图及相关算法讲解

图 1.图的基本概念2. 图的存储结构2.1邻接矩阵2.2邻接表2.3两种实现的比较 3.图的遍历3.1 图的广度优先遍历3.2 图的深度优先遍历 4.最小生成树4.1 Kruskal算法4.2 Prim算法4.3 两个算法比较 5.最短路径5.1两个抽象存储5.2单源最短路径--Dijkstra算法5.3单源最短路径--Bellman-…

VScode(Python)使用ssh远程开发(Linux系统树莓派)时,配置falke8和yapf总结避坑!最详细,一步到位!

写在前面:在Windows系统下使用VScode时可以很舒服的使用flake8和yapf,但是在ssh远程开发树莓派时,我却用不了,总是出现问题。当时我就开始了漫长的探索求知之路。中间也请教过许多大佬,但是他们就讲“能用不就行了&…

51、WEB攻防——通用漏洞验证码识别复用调用找回密码重定向状态值

文章目录 回显状态判断用户名重定向验证码回显显示验证码简单机制验证码复用验证码智能识别验证码接口调用安全修复建议 回显状态判断 request前端判断不安全(前端接收验证的返回值来进行判断),使用burp的Response to this request可以抓取返回包~ 这种…

C#,数值计算,希尔伯特矩阵(Hilbert Matrix)的算法与源代码

Hilbert, David (1862-1943) 1 希尔伯特(Hilbert) 德国数学家,在《几何学基础》中提出了第一套严格的几何公理(1899年)。他还证明了自己的系统是自洽的。他发明了一条简单的空间填充曲线,即埃里克魏斯汀的数学世界,即希尔伯特曲线,埃里克魏斯汀的数学世界,并证明了不…

OpenCASCADE开发指南<七>:OCC 中的数学基本类型和数学算法

1 标准对象的集合容器 在处理现实问题时,经常将问题抽象成一个数学模型,接着对模型求解, 然后将解提取出来以解决现实问题。 其实在 CAD 软件中, 主要解决的就是数学模型。因此,本节将描述 OCC 的数学基本类型和数学算…

短剧小程序开发:探索剧情新纪元,随时随地畅享精彩短剧

随着移动互联网的快速发展,人们对碎片化时间的利用越来越高效。短剧小程序应运而生,为用户带来了一种全新的娱乐方式。我们致力于开发一款功能丰富、体验优越的短剧小程序,让您随时随地畅享精彩剧情。 短剧小程序将汇聚众多优质短剧资源&…

科技成果鉴定测试如何进行?第三方检测机构进行鉴定测试的好处

科技成果鉴定测试,作为科技领域中一项重要的质量检验手段,具有广泛的应用范围。旨在为科技成果的研发者和使用者提供客观、科学、权威的鉴定结果,从而评估科技成果的技术水平和市场竞争力。   科技成果鉴定测试是对科技成果进行系统、全面的…

【小工具】一键美化nvidia-smi,查看GPU运行状态,无须配置

pip install nvitop可以在远程console看,是动态的。 鼠标滚轮控制显示哪个进程。

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)上篇

提供具有网页显示能力的Web组件,ohos.web.webview提供web控制能力。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。示例效果请以真机运行为准,当前IDE预览器不支持。 需要权…

大型污水处理站运维公司怎么选择

大型污水处理站运维公司的选择是关乎环境保护和城市发展的重要决策。在如今污水治理领域日益重要的背景下,选择一家专业的运维公司对于确保污水处理站的高效运行、提高处理效果和保护环境具有关键意义。那么,我们应该如何选择适合自己的大型污水处理站运…

OpenCV读取tensorflow神经网络模型:SavedModel格式转为frozen graph的方法

本文介绍基于Python的tensorflow库,将tensorflow与keras训练好的SavedModel格式神经网络模型转换为frozen graph格式,从而可以用OpenCV库在C 等其他语言中将其打开的方法。 如果我们需要训练并使用一个神经网络模型,一般情况下都是首先借助Py…