当前位置: 首页 > news >正文

【C#个人错题笔记】

观前提醒

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

字符串拼接

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.lryc.cn/news/14486.html

相关文章:

  • JavaScript刷LeetCode拿offer-树的遍历
  • 《FPGA学习》->呼吸灯
  • 【大数据离线开发】7.4 HBase数据保存和过滤器
  • CentOS7安装MariaDB步骤
  • 软件测试13个最容易犯的错误
  • 华为OD机试真题Java实现【5键键盘的输出】真题+解题思路+代码(20222023)
  • 化解射频和微波设计挑战的六个技巧
  • linux内核—进程调度(核心)
  • 【STM32笔记】__WFI();进入不了休眠的可能原因(系统定时器SysTick一直产生中断)
  • 【期末复习】例题讲解Dijkstra算法
  • Pytorch 基础之张量索引
  • JVM系统优化实践(1):JVM概览
  • 优秀!19年后,它再次成为TIOBE年度编程语言
  • 剑指 Offer 26. 树的子结构
  • 他是00年的,我们卷不过他...
  • C#开发的OpenRA的OpenGL创建纹理流程
  • 3D目标检测(一)—— 基于Point-Based方法的PointNet系列
  • 《设计模式》策略模式
  • 【离散数学】1. 数理逻辑
  • Java8新特性学习
  • SPARK outputDeterministicLevel的作用--任务全部重试或者部分重试
  • 图数据库中的 OLTP 与 OLAP 融合实践
  • Shader Graph简介
  • kubectl
  • 实验室设计SICOLAB第三方检测中心实验室设计
  • GPS经纬度转距离
  • 7-周赛333总结
  • 电子招标采购系统源码—互联网+招标采购
  • SQL注入和XSS攻击
  • js Map的使用