【C#个人错题笔记】

news/2024/11/16 3:15:53/

观前提醒

记录一些我不会或者少见的内容,不一定适合所有人

字符串拼接

int a=3,b=8;
Console.WriteLine(a+b);//11
Console.WriteLine("a+b");//a+b
Console.WriteLine(a+"+"+b);//3+8
Console.WriteLine("a+b"+a+b);//a+b38
Console.WriteLine("a+b"+(a+b));//a+b11

ASCII码:

char a='a';
int b=a;
Console.WriteLine(a);//a
Console.WriteLine(b);//97

强制类型转换

如果遇到的是值a超出范围了,那么VS会提示报错,就是不容许你把一个大容器的水装入到小容器中,这会导致溢出。

所以就需要用到强制类型转换,但是精度会下降。

原则int b=a;左边值的容器大小 ≥\geq 右边值所需容器大小

所占字节大小(容器大小)byte,short,char < int < long <float <doublebyteshort参与运算会自动转换成int

接下来通过类似如下语句的写法(格式化)展示大小

Console.WriteLine("{0}:\t 所占字节数: {1}\t 最小值:{2}\t 最大值:{3}\n",typeof(byte).Name, sizeof(byte), byte.MinValue, byte.MaxValue);

在这里插入图片描述
注:

  • U的意思是无符号
  • SByte 数据类型可包含不需要 Integer 的完整数据宽度甚至 Short 的半数据宽度的整数值
  • decimal 类型较于 double 具有更高的精度和更小的范围
  • Int16shortInt32intint64为long,Singlefloat

测试用例:

int a=97;
char b=(char)a;
输出...

@的妙用

作用1:不让转义字符生效

char a='\n';
char b='\\';
//方法一:
Console.WriteLine("\\a\\b");
//方法二:
Console.WriteLine(@"\a\b");

作用2:字符拼接但是换行!
+拼接字符串还是有些区别的

注:如果想要在拼接\a\b字符中间插入",写法为@"\a""\b"

            string str = @"\a
\b";Console.WriteLine(str);

在这里插入图片描述

输入

Console.ReadLine():最终得到的是string类型

string a=Console.ReadLine();

如果想转换成其他类型,比如我输入整数,转成Int类型

int b = Convert.ToInt32(Console.ReadLine());

自增与自减

  • a++先输出再加1
  • ++a先加1再输出

简单练习题思路(代码其实不重要)

1、如何让数字倒过来输出

  • 步骤1:输入整数,善用除法/和求余%得各个位数
  • 步骤2:通过字符串拼接输出即可,比如""+十位数+个位数
  • 另一种输出方式:乘法*与加法+结合重新拼一个数

扩展:给你5位数,我只想要千位和十位数,然后按顺序组合成的新数值是?

2、说出下面运算结果的逻辑实现与最终结果

int a = 3;
int b = a++ + a++;
Console.WriteLine(a);//5
Console.WriteLine(b);//7
// (前面的)a先输出3 加上 (后面的)a++,此时(后面的)a值先输出为4
// 于是就为3 + 4 ,最终输出的a值为5

扩展:修改b = a++ + (++a),那么结果为?

我认为最不需要记的知识(知道就行)

程序结构:

  • 入口类(熟能生巧,VS也有提示)

变量:

  • 命名规则(VS会贴心提示你)
  • 数据类型(熟能生巧)

运算符

  • 算术运算符、逻辑运算符、关系运算符的知识(回炉重造,重学C语言吧)

http://www.ppmy.cn/news/26706.html

相关文章

最全Linux驱动开发全流程详细解析(持续更新)

Linux驱动开发详细解析 一、驱动概念 驱动与底层硬件直接打交道&#xff0c;充当了硬件与应用软件中间的桥梁。 具体任务 读写设备寄存器&#xff08;实现控制的方式&#xff09;完成设备的轮询、中断处理、DMA通信&#xff08;CPU与外设通信的方式&#xff09;进行物理内存…

内网渗透(四十六)之横向移动篇-使用系统漏洞ms17010横向移动

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

华为OD机试 - 最长连续交替方波信号 | 机试题算法思路 【2023】

最近更新的博客 华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 【2023】 华为OD机试题 - 获取最大软件版本号(JavaScript) 华为OD机试 - 猜字谜(Python) | 机试题+算法思路 【2023】 华为OD机试 - 删除指定目录(Python) | 机试题算法思路 【2023】 华为OD机试 …

正点原子ARM裸机开发篇

裸机就是手动的操作硬件来实现驱动设备&#xff0c;后面会有驱动框架不需要这么麻烦 第八章 汇编 LED 灯实验 核心过程 通过汇编语言来控制硬件&#xff08;驱动程序&#xff09; 代码流程 1、使能 GPIO1 时钟 GPIO1 的时钟由 CCM_CCGR1 的 bit27 和 bit26 这两个位控制&…

网络安全高级攻击

对分类器的高层次攻击可以分为以下三种类型&#xff1a;对抗性输入&#xff1a;这是专门设计的输入&#xff0c;旨在确保被误分类&#xff0c;以躲避检测。对抗性输入包含专门用来躲避防病毒程序的恶意文档和试图逃避垃圾邮件过滤器的电子邮件。数据中毒攻击&#xff1a;这涉及…

linux开机自动运行python服务或者程序(转载)

进入看到AI那边写了个服务可以实现自动重启之类的 ai那边用的fastapi写的接口 后面可以研究一下 直接在调用函数如run.py封装接口 若想使用systemctl 命令则需要直接把写的 .serverce程序放到 /etc/systemd/system参考以下资料&#xff0c; https://blog.csdn.net/wo1823709…

JVM12 字节码指令集

1. 概述 2. 加载与存储指令 2.1. 局部变量压栈指令 iload 从局部变量中装载int类型值 lload 从局部变量中装载long类型值 fload 从局部变量中装载float类型值 dload 从局部变量中装载double类型值 aload 从局部变量中装载引用类型值&#xff08;refernce&#xff09; iload_0 从…

【C语言】初识结构体

Yan-英杰 悟已往之不谏 知来者之可追 目录 一、结构体的声明 二、结构体变量的定义和初始化 三、结构体成员的访问 四、结构体传参 一、结构体的声明 1.结构的基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。2.结构的…