(2)C#传智:变量基础(第二天)
一、注释符
不写注释是流氓,名字瞎起是扯蛋。
注释作用:解释与注销
命名:
以字母、_、@开头,里面只能有_与@特殊符,其它不得出现如%*&^等。
不能与关键字重复。区分大小写,Num与num不是同一变量。html不区别。
变量不得重复定义。
Camel (变量命名)首单词小写,后继单词首字母大写:highSchoolStudent
Pascal (类方法)每个单词首字母大写:HighSchoolStudent
二、三种注释
1.单选注释//
2.多行注释 /* 要注释的内容 */
3.文档注释 /// 解释类或方法
三、快捷键
Ctrl+Shift+F10自动添加Using
Ctrl+M 空格:快速对齐代码 插件CodeMaid
Ctrl+M,Ctrl+M折叠/展开当前 Ctrl+M,Ctrl+O/L折叠/展开全部
Ctrl+Z:撤销
Ctrl+S:保存(一定要经常保存!)
Ctrl+J:快速弹出智能提示
Home/End 回到本行的行首/行尾
Ctrl+Home/End 回到本页的页首/页尾
Shift+End、Shift+Home
Ctrl+K+C:注释所选代码
Ctrl+K+U:取消对所选代码的注释
F1:转到帮助文档
#Region 和#EndRegion 折叠冗余代码
按住Alt可以选择竖向方框,此时输入文字,则每行有同文字。 Table与Shift一样可以进退。
例如,连续多行变量同时输入Public,则在多行变量前按Alt选择后直接输入Public完成。
F9下断点 Ctrl+F9启用/停止断点 Ctrl+Shift+F9删除所有断点
F10逐过程 F11逐语句 Ctrl+F10运行到光标处
F5调试执行 Ctrl+F5直接执行(忽略断点) F4显示属性 F7打开代码
Shift表示整个项目。例如 Ctrl+S保存当前文档,Ctrl+Shift+S保存整个项目文件
Ctrl+F当前文档查找 Ctrl+Shift+F整个项目查找
Ctrl+Shift+V调出剪贴板选择其中的记录使用 双击单词选中一个单词 Ctrl+D同时复制与粘贴
Ctrl+-/+ 回到上一个/下一个光标处
插入片段两次Table,例Cw后两次Table,或prop两次tab,设置修改:工具->代码片段管理器->CSharp
窗口过小用自动换行查看CtrlE,W,不用拉滚动条看。 Ctrl+左右箭头一次一个单词
Shift+Enter 快速进入下一行。
四、变量
变量类型 变量名;
变量名=值;
int number;
number=100;
同类型可用逗号分开并列写出: int a,b,c=4,d;
1.整形
sbyte -128 到 127 8位带符号整数 System.SByte
byte 0 到 255 无符号的8位整数 System.Byte
short -32,768到32,767 有符号16位整数 System.Int16
ushort 0到65,535 无符号16位整数 System.UInt16
int -2,147,483,648到2,147,483,647 带符号的32位整数 System.Int32
uint 0到4,294,967,295 无符号的32位整数 System.UInt32
long -9,223,372,036,854,775,808到9,223,372,036,854,775,807 64位带符号整数 System.Int64
ulong 0到18,446,744,073,709,551,615 无符号64位整数 System.UInt64
nint 取决于(在运行时计算的)平台 带符号的32位或64位整数 System.IntPtr
nuint 取决于(在运行时计算的)平台 无符号的32位或64位整数 System.UIntPtr
2.浮点
float ±1.5x10^-45 至 ±3.4 x 10^38 大约6-9位数字 4个字节 System.Single
double ±5.0×10^−324到 ±1.7 × 10^308 大约15-17位数字 8个字节 System.Double
decimal ±1.0x10^-28 至 ±7.9228x10^28 28-29 位 16个字节 System.Decimal
decimal d=5.55m;
decimal d=5.55;//错误
3.字符与字符串
char gender = '男';//单引号。最多最少存储一个字符,不能为空
string a = "2313"; //双引号。零或多个字符,可为空
五、提示
绿色波浪线警告,可运行。红色波浪线错误,不可运行。
蓝色字体关键字,独属于C#; 绿色的关键字,属于.Net。
string b = "张三";
String c = "李四";//大写 绿色
异常:语法无错,但不合逻辑Bug.
六、赋值
= 将右端赋值给左端。==与!=是比较,结果为bool.
+ 加/连接。数值相加;(只要有一个是字符串)则连接作用。Console.WriteLine(5 + "5");//55
七、占位符
挖个坑,再填个坑。只能多填不能少填。
int n1 = 10, n2 = 20, n3 = 30;
Console.WriteLine("第一个{0},第二个{1},第三个{2}.", n1, n2, n3);//10,20,30
输出顺序:按挖坑顺序
Console.WriteLine("第一个{0},第二个{2},第三个{1}.", n1, n2, n3);//10,30,20
Console.WriteLine("第一个{0},第二个{2},第三个{1}.", n1, n2);//少填,出错
//不使用第三方的变量交换数值 差值法
int n1 = 10, n2 = 50;
n1 = n1 - n2;// n1: n1-n2 (关键->求出差值)
n2 = n1 + n2;// n2: (n1-n2)+n2=n1
n1 = n2 - n1;// n1: n1-(n1-n2)=n2
Console.WriteLine("{0},{1}", n1, n2);
//不使用第三方的变量交换数值 和值法
int n1 = 10, n2 = 50;
n1 = n1 + n2;//求和 (关键->求出和值)
n2 = n1 - n2;//求出n1
n1 = n1 - n2;//求出n2
Console.WriteLine("{0},{1}", n1, n2);
八、接收信息
string name=Console.ReadLine();//接收一行的数据,按回车结束
char gender=Console.ReadKey();//接收一个字符,按键即结束
九、转义符
定义:'\'+特殊符号,组合成一个特殊意义的字符
\n 换行。windows老版本控制台识别,但文本不认(用\n\r)。在Mac两者都认.
最新版2022net framework4.7时,两者都认,注意\n\r会当作两次换行。
\t 输出一个tab,排版对齐
\" 英文半角双引号
\b Backspace退格键,删除\b前一个字符.置于字符串的两端时不会起作用。
\\ 表示一个\。字符串前面加@,则取消\的转义作用。下面均正确,但第二句显示的是两个\\
string str = @"E:\1\2\3\4\5\6.txt";
string str = @"E:\\1\\2\\3\\4\\5\\6.txt";
string str = "E:\\1\\2\\3\\4\\5\\6.txt";
@还起到保留原格式输出:
Console.Writeline(@"今天天气好
真的是好!");//输出中也是换行的
char c='\b';//尽管两个字符,但\起转义作用不是字符,表示一个退格意思,故是正确的
char c='bb';//错误
十、算术运算符
+ 加法/连接
- 减
* 乘
/ 除以.参与数全为整数时,结果只能为整数(四舍五入)
% 求余
十一、类型转换
= 等号两端的类型必须一致,若不一致时:
隐式转换(自动转换,小范围转大范围)
byte-> short、ushort、int、uint、long、ulong、float、double、decimal、nint 或 nuint
sbyte-> short、int、long、float、double、decimal 或 nint。
short-> int、long、float、double、decimal 或 nint
ushort-> int、uint、long、ulong、float、double、decimal、nint 或 nuint
int-> long、float、double、decimal 或 nint
uint-> long、ulong、float、double、decimal 或 nuint
long-> float、double 或 decimal
ulong-> float、double 或 decimal
float-> double
nint-> long、float、double 或 decimal
nuint-> ulong、float、double 或 decimal
提升类型时注意。如int->double
int a = 10, b = 3;
double c = a / b;//3 右侧整型结果
double d = 1.0 * a / b;//3.3333 右侧先提升double,再隐匿除整数b
double e = 1.0 * (a / b);//3 右侧先结果3,再提升double,仍为3
Console.WriteLine("{0:0.000}", d);//占位符确定小数位置(四舍五入)
显式转换(强制转换,两者兼容,大转小)
(要转类型)被转类型;
double n1 = 303.6;
int n2 = (int)n1;//303,取整,不能四舍五入
1.类型兼容时,用显式或隐式转换。
2.类型不兼容时,用Convert进行转换。
注意:必须能转,面上过得去。
string s = "23422";
double d = Convert.ToDouble(s);
int n = Convert.ToInt32(s);
相关文章:
(2)C#传智:变量基础(第二天)
一、注释符 不写注释是流氓,名字瞎起是扯蛋。 注释作用:解释与注销 命名: 以字母、_、开头,里面只能有_与特殊符,其它不得出现如%*&^等。 不能与关键字重复。区分大小写,Num…...

02-mysql高级-
文章目录mysql高级1,约束1.1 概念1.2 分类1.3 非空约束1.4 唯一约束1.5 主键约束1.6 默认约束1.7 约束练习1.8 外键约束1.8.1 概述1.8.2 语法1.8.3 练习2,数据库设计2.1 数据库设计简介2.2 表关系(一对多)mysql高级 今日目标 掌握约束的使用 掌握表关系…...
windows 使用everything 查看文件(夹)存储空间占用
起因 总是那个原因,C: D: E:全都红了,下的游戏太多了,然后就这样了,之前也有过不少这种情况.几年前,就在智能手机上见过类似的功能. 大概就是遍历文件系统,统计每个文件的大小,然后父节点记录所有子节点的和,然后可以显示占用百分比之类的. 经过 在windows 上我最开始使用ex…...

2023该好好赚钱了,推荐三个下班就能做的副业
在过去的两年里,越来越多的同事选择辞职创业。许多人通过互联网红利赚到了他们的第一桶金。随着短视频的兴起,越来越多的人吹嘘自己年收入百万,导致很多刚进入职场的年轻人逐渐迷失自我,认为钱特别容易赚。但事实上,80…...
vue3如何进行数据监听watch/watchEffect
我们都知道监听器的作用是在每次响应式状态发生变化时触发,在组合式 API 中,我们可以使用 watch()函数和watchEffect()函数, 当你更改了响应式状态,它可能会同时触发 Vue 组件更新和侦听器回调。 默认情况下,用户创建的侦听器回…...

Wgcloud安装和使用(性能监控)
一、Wgcloud说明 官网:https://www.wgstart.com/ WGCLOUD支持主机各种指标监测(cpu使用率,cpu温度,内存使用率,磁盘容量,磁盘IO,硬盘SMART健康状态,系统负载,连接数量&…...
前端如何实现本地图片上传?
前端如何实现本地图片上传? 摘要 对于学习前端的小伙伴都有一个困惑,就是平常想上手小项目,但碍于不想购买服务器,实践受到了限制。 一般我选择node.js搭建服务器,毕竟基于JavaScript语言,简直不是一家人…...

【基础算法】差分的应用(一维差分和二维差分)
🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…...

第49章 API统一集中管理
1 关于统一集中管理API的一些思考 1、统一集中管理是保证工程性项目得保质、保量、成功实施,并对后期维护提供数据支撑的最有效,最节省资源和时间的技能和做法,软件做为一种特殊的工程性项目,也符合上述特性。 2、由于在前台实现中…...

carla0.9.13-UE4添加4轮车模型(Linux系统)
前期准备建模工具:blender:v3.4.1;可以在Ubuntu Software商店直接下载虚拟引擎:carla-UE4 (carla v0.9.13),无需额外安装UE4,carla中自带插件编译carla参照官方文档:https://carla.readthedocs.io/en/0.9.1…...
对比yolov4和yolov3
目录 1. 网络结构的不同 1.1 Backbone 1.1.1 Darknet53 1.1.2 CSPDarknet53 1.2 Neck 1.2.1 FPN 1.2.2 PAN 1.2.3 SPP 1.3 Head 2. 数据增强 2.1 CutMix 2.2 Mosaic 3. 激活函数 4. 损失函数 5. 正则化方法 知识点 记录备忘。 总体而言&…...
Android ServiceManager
1.ServiceManager ServiceManager在init进程启动后启动,用来管理系统中的Service。 一般开机过程分为三个阶段: ①OS级别,由bootloader载入linux内核后,内核开始初始化,并载入built-in的驱动程序,内核完成开机后,载入init process,切换至user-space后,结束内核的循…...

数据挖掘,计算机网络、操作系统刷题笔记53
数据挖掘,计算机网络、操作系统刷题笔记53 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,orac…...

地球板块运动vr交互模拟体验教学提高学生的学习兴趣
海陆变迁是地球演化史上非常重要的一个过程,它不仅影响着地球的气候、地貌、生物多样性等方面,还对人类文明的演化产生了深远的影响。为了帮助学生更加深入地了解海陆变迁的过程和机制,很多高校教育机构开始采用虚拟现实技术进行教学探究。 V…...

【Android玩机】跟大家聊聊面具Magisk的使用(安装、隐藏)
目录:1、Magisk中文网2、隐藏面具和Root(一共3种方法)1、Magisk中文网 (1)首先Magisk有一个中文网,对新手非常友好 (2)这网站里面主要包含:6 部分 (3)按照他给…...

DACS: Domain Adaptation via Cross-domain Mixed Sampling 学习笔记
DACS介绍方法Naive MixingDACSClassMix算法流程实验结果反思介绍 近年来,基于卷积神经网络的语义分割模型在众多应用中表现出了显著的性能。然而当应用于新的领域时&…...

python并发编程(并发与并行,同步和异步,阻塞与非阻塞)
最近在学python的网络编程,学了socket通信,并利用socket实现了一个具有用户验证功能,可以上传下载文件、可以实现命令行功能,创建和删除文件夹,可以实现的断点续传等功能的FTP服务器。但在这当中,发现一些概…...

【项目】DTO、VO以及PO之间的关系和区别
【项目】DTO、VO以及PO之间的关系和区别 文章目录【项目】DTO、VO以及PO之间的关系和区别1.概念2. 作用1.概念 DTO:DTO是 Data Transfer Object 的缩写,也叫数据传输对象。 PO:PO是 Persistent Object 的缩写,也叫持久化对象。 …...
Nginx介绍
什么是Nginx? Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接&#x…...

你什么档次?敢和我用一样的即时通讯平台WorkPlus?
现今,很多企业越来越青睐私有化部署,尤其是在选择组织内部即时通讯平台的时候,更是会提出私有化部署的需求。究其原因,企业选择私有化部署即时通讯软件完全是出于安全方面考虑。因此,越来越多的企业将眼光望向了本地化…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...

手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...