C#数组复习
一、一维数组
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ShuZu : MonoBehaviour
{#region 知识点一 基本概念//数组是存储一组相同类型数据的集合//数组分为 一维、二维、交错数组//一般情况 一维数组 就简称为数组#endregion#region 知识点二 数组的申明//变量类型[] 数组名;//只是申明了一个数组,但是并没有开放//变量类型 可以是我们学过的 或者 没学过的所有变量类型int[] arr1;//变量类型[] 数组名=new 变量类型[数组的长度];int[] arr2 = new int[5];//这种方式 相当于开了5个房间 但是房间里面的int值 默认为0//变量类型[] 数组名 =new 变量类型[数组的长度]{内容1,内容2,内容3,....};int[] arr3 = new int[5] { 1, 2, 3, 4, 5 };//变量类型[] 数组名 =new 变量类型[] {内容1,内容2,内容3,....};int[] arr4 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };//后面的内容就决定了 数组的长度 "房间数"//变量类型[] 数组名={内容1,内容2,内容3,....};int[] arr5 = { 1, 3, 4, 5, 6 };//后面的内容就决定了 数组的长度 "房间数"#endregion// Start is called before the first frame updatevoid Start(){#region 知识点三 数组的使用int[] array = { 1, 2, 3, 4, 5 };//1.数组的长度Debug.Log(array.Length);//2.获取数组中的元素//数组中的下标和索引 他们是从0开始的//通过 索引下标去 获得数组中某一个元素的值时//一定注意!!!!!//不能越界Debug.Log(array[0]);//3.修改数组中的元素array[0] = 99;Debug.Log(array[0]);//4.遍历数组 通过循环 快速获取数组中的每一个元素for (int i = 0; i < array.Length; i++){Debug.Log(array[i]);}//5.增加数组的元素//组数初始化以后 是不能够 直接添加新的元素的int[] array2 = new int[6];for(int i = 0; i < array.Length; i++){array2[i] = array[i];}array = array2;for (int i = 0; i < array.Length; i++){Debug.Log(array[i]);}array[5] = 999;//6.删除数组的元素//数组初始化以后 是不能够 直接删除元素的//搬家的原理int[] array3 = new int[5];//搬家for (int i = 0; i < array3.Length; i++){array3[i] = array[i];}array = array3;Debug.Log(array.Length);//7.查找数组中的元素//99 2 3 4 5//要查找 3这个元素在哪个位置//只有通过遍历才能确定 数组中 是否存储了一个目标元素int a = 3;for (int i = 0; i < array.Length; i++){if (a == array[i]){Debug.Log("和a相等的元素在{0}" + i);}}#endregion}//总结//1.概念:同一变量类型的数据集合//2.一定要掌握知识:申明,遍历, 增删查改//3.所有的变量类型都可以申明为 数组//4.它是用来批量存储游戏中的同一类型对象的 容器}
一维数组练习:
#region 练习题一//请创建一个一维数组并赋值,让其值与下标一样,长度为100int[] arr1 = new int[100];for (int i = 0; i < arr1.Length; i++){arr1[i] = i;Console.WriteLine(arr1[i]);}#endregion
#region 练习题二//创建另一个数组B,让数组A中的每个元素的值乘以2存入到数组B中int[] arrayA = new int[10];int[] arrayB = new int[10];for (int i = 0; i < arrayB.Length; i++){arrayB[i] = arrayA[i]*2;Console.WriteLine(arrayB[i]);}#endregion
#region 练习题三//随机(0--100)生成1个长度为10的整数数组int[] array=new int[10];Random r= new Random();for(int i = 0; i < array.Length; i++){array[i] =r.Next(0,101);//左包含右不包含Console.WriteLine(array[i]);}#endregion
#region 练习题四//从一个整数数组中找出最大值 最小值 总和 平均值//(可以使用随机数1--100)int[] arrayInt= new int[10];Random c=new Random();for(int i = 0; i < arrayInt.Length; i++){arrayInt[i] = c.Next(0, 101);Console.WriteLine(arrayInt[i]);}//第一次进入时 不存在 最大最小的概念//可以认为 第一次 最大值最小值 都是第一个数int min = 0;int max = 0;int sum = 0;int avg = 0;for (int i = 0; i < arrayInt.Length; i++){//如果当前的值 比min还要小 那么当前的值就是最小的值if (min > arrayInt[i]){min = arrayInt[i];}//如果当前的值 比max还要大 那么当前的值就是最大的值if (max < arrayInt[i]){max = arrayInt[i];}//每一次的值加上去 就是总和sum += arrayInt[i];}avg=sum/arrayInt.Length;#endregion
#region 练习题五//交换数组中的第一个和最后一个、第二个和倒数第二个、依次类推,把数组进行反转并打印int[] array5= new int[10];Random ra= new Random();for (int i = 0; i < array5.Length; i++){array5[i] = ra.Next(0, 101);Console.WriteLine(array5[i]);}Console.WriteLine("****************");//交换 那就中间商不赚差价//int temp = array5[0];//array5[0] = array5[array5.Length-1];//array5[array5.Length-1]= temp;//temp = array5[1];//array5[1]= array5[array5.Length-1-1];//array5[array5.Length - 1 - 1] = temp;//temp = array5[2];//array5[2] = array5[array5.Length - 1 - 1-1];//array5[array5.Length - 1 - 1-1] = temp;for (int i = 0;i < array5.Length/2; i++){int temp = array5[i];array5[i] = array5[array5.Length - i - 1];array5[array5.Length - i - 1] = temp;} for (int i = 0;i<array5.Length ; i++){Console.WriteLine(array5[i]);}#endregion
#region 练习题六//将一个整数数组的每一个元素进行如下的处理://如果元素时正数则将这个位置的元素值加1;//如果元素是负数则将这个位置的元素值减1;//如果元素是0,则不变int[] array6= new int[10];Random ran= new Random();for (int i = 0; i < array6.Length; i++){array6[i] = ran.Next(-10, 11);Console.WriteLine(array6[i]);}Console.WriteLine("$$$$$$$$$$$$$$$$$$$$$$$$");for (int i = 0; i < array6.Length; i++){//得到每一个元素 进行判断即可if (array6[i] > 0){array6[i] +=1;}else if (array6[i] < 0){array6[i] -=1;}else if (array6[i]==0){array6[i] = array6[i];}Console.WriteLine(array6[i]);}#endregion
#region 练习题七//定义一个有10个元素的数组,使用for循环,输入10名同学的数学成绩//将成绩依次存入数组,然后分别求出最高分和最低分//并且求出10名同学的数学平均成绩int[] array7= new int[10];try{int min2 = 0;int max2 = 0;int sum2 = 0;int avg2 = 0;for (int i = 0; i < array7.Length; i++){Console.WriteLine("请输入第{0}位同学的成绩", i+1);array7[i] = int.Parse(Console.ReadLine());//第一次进来 min max 没有任何意义 所以第一次可以就认为该成绩即使 最高分也是最低分if (i == 0){min2 = array7[i];max2 = array7[i];}else{//只有除了第一次以外 才来进行 大小值的判断if (min2 > array7[i]){min2 = array7[i];}else if (max2 < array7[i]){max2 = array7[i];}}sum2 += array7[i];}avg2 = sum2 / array7.Length;Console.WriteLine("最低分{0}最高分{1}总成绩{2}平均值{3}", min2, max2, sum2, avg2);}catch (Exception){Console.WriteLine("请输入数字");}#endregion
#region 练习题八//请声明一个string类型的数组(长度为25)(该数组中存储着符号)//通过遍历数组的方式取出其中存储的符号打印出以下效果string[] array8= new string[25];for (int i = 0; i < array8.Length; i++){array8[i] = i % 2 == 0 ? "■" :"□";//if (i % 2 == 0)//{// array8[i] = "■";//}//else//{// array8[i] = "□";//}}for (int i = 0; i < array8.Length; i++){if (i%5==0&&i!=0){Console.WriteLine();}Console.Write(array8[i]);}#endregion
二、二维数组
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 二维数组
{internal class Program{static void Main(string[] args){#region 知识点一 基本概念//二维数组 是使用两个下标(索引)来确定元素的数组//两个下标可以理解成 行标 和 列标//比如矩阵//1 2 3//4 5 6//可以用二维数组 int[2,3]表示//好比 两行 三列的数据集合#endregion#region 知识点二 二维数组的申明//变量类型[,] 二维数组变量名;int[,] arr;//申明过后 会在后面进行初始化//变量类型[,] 二维数组变量名 =new 变量类型[行,列];int[,] arr2 = new int[3, 3];//变量类型[,] 二维数组变量名 =new 变量类型[行,列]{{0行内容1,0行内容2,0行内容3.....},{1行内容1,1行内容2,1行内容3.....}....};int[,] arr3=new int[3, 3] { { 1,2,3},{ 4,5,6},{ 7,8,9}};//变量类型[,] 二维数组变量名=new 变量类型[,]{{0行内容1,0行内容2,0行内容3.....},{1行内容1,1行内容2,1行内容3.....}....};int[,] arr4 = new int[3, 3] { { 1,2,3},{ 4,5,6},{ 7,8,9}};//变量类型[,] 二维数组变量名={{0行内容1,0行内容2,0行内容3.....},{1行内容1,1行内容2,1行内容3.....}....};int[,] arr5 ={ { 1,2,3},{ 4,5,6},{ 7,8,9}};#endregion#region 知识点三 二维数组的使用int[,] array1 = new int[,] { { 1, 2, 3 },{ 4, 5, 6 } };//1.二维数组的长度//我们要获取 行和列分别是多长//得到多少行Console.WriteLine(array1.GetLength(0));//得到多少列Console.WriteLine(array1.GetLength(1));//2.获取二维数组中的元素//注意:第一个元素的索引是0 最后一个元素的索引 肯定是长度-1Console.WriteLine(array1[0, 1]);Console.WriteLine(array1[1, 2]);//3.修改二维数组中的元素array1[0, 0] = 99;Console.WriteLine(array1[0, 0]);Console.WriteLine("#######################");//4.遍历二维数组for (int i = 0; i <array1.GetLength(0); i++){for (int j = 0; j < array1.GetLength(1); j++){//i行 0 1//j列 0 1 2Console.WriteLine(array1[i, j]);//0,0 0,1 0,2//1,0 1,1 1,2}}//5.增加数组的元素//数组申明初始化过后 就不能在原有的基础上进行 添加 或者删除了int[,] array2 = new int[3, 3];for (int i = 0; i < array1.GetLength(0); i++){for(int j = 0;j < array1.GetLength(1); j++){array2[i, j] = array1[i,j];}}array1 = array2;array1[2, 0] = 7;array1[2, 1] = 8;array1[2, 2]=9;//6.删除数组的元素//7.查找数组中的元素//如果要在数组中查找一个元素是否等于某个值//通过遍历的形式去查找#endregion//总结://1.概念:同一变量类型的 行列数据集合//2.一定要掌握内容:申明,遍历,增删查改//3.所有的变量类型都可以神明为 二维数组//4.游戏中一般用来储存 矩阵,再控制台小游戏中可以用二维数组 来表示地图格子}}
}
二维数组练习:
#region 练习题一//将1到10000赋值给一个二维数组 (100行100列)int[,] array1 = new int[100, 100];int index = 1;for (int i = 0; i < array1.GetLength(0); i++){for (int j = 0; j < array1.GetLength(1); j++){array1[i, j] = index;++index;Console.WriteLine(array1[i, j] + " ");}}#endregion
#region 练习题二//将二维数组(4行4列)的右上半部分置零(元素随机1--100)int[,] array2 = new int[4, 4];Random r = new Random();for (int i = 0; i < array2.GetLength(0); i++){for (int j = 0; j < array2.GetLength(1); j++){if (i<=1 && j > 1){array2[i, j] = 0;}else{array2[i, j] = r.Next(1, 101);}Console.Write(array2[i, j] + " ");}Console.WriteLine();}#endregion
#region 练习题三//求二维数组(3行3列)的对角线元素的和(元素随机1--10)int[,] array3 = new int[3, 3];Random ra = new Random();int sum3 = 0;for (int i = 0; i < array3.GetLength(0); i++){for (int j = 0; j < array3.GetLength(1); j++){array3[i, j] = ra.Next(1, 11);//对角线元素满足的条件if (i == j || i + j == 2){sum3 += array3[i, j];}Console.Write(array3[i, j] + " ");}Console.WriteLine();}Console.WriteLine(sum3);#endregion
#region 练习题四//求二维数组 (5行5列) 中最大元素值及其行列号(元素随机1--500)int[,] array4=new int[5, 5];Random r5= new Random();//就是记录 最大值的 行列号int maxI = 0;int maxJ = 0;for (int i = 0;i < array4.GetLength(0); i++){for (int j = 0; j < array4.GetLength(1); j++){array4[i, j] = r5.Next(1, 501);//找最大值if (array4[maxI, maxJ] < array4[i,j]){maxI = i;maxJ=j;}Console.Write(array4[i, j] + " ");}Console.WriteLine();}Console.WriteLine("最大值为{0},行{1}列{2}",array4[maxI,maxJ],maxI,maxJ);#endregion
#region 练习题五//给一个M*N的二维数组,数组元素的值为0或者1,//要求转换数组,将含有1的行和列全部置1int M = 5;int N=5;int[,] array5=new int[M, N];Random ra5=new Random();bool[] hang=new bool[5];bool[] lie=new bool[5];for (int i = 0; i < array5.GetLength(0); i++){for(int j = 0;j < array5.GetLength(1); j++){array5[i, j] = ra5.Next(0, 2);if (array5[i,j]==1){//记录了 当前 行列 是否要变1的标识//要变一 就置truehang[i] = true;lie[i] = true;}Console.WriteLine(array5[i, j] + " ");}Console.WriteLine();}for (int i = 0; i < array5.GetLength(0); i++){for (int j = 0; j < array5.GetLength(1); j++){//满足行和列的标识 是true 就变一if (hang[i] || lie[j]){array5[i, j] = 1;}Console.Write(array5[i, j]+" ");}Console.WriteLine() ;}#endregion
三、交错数组
using System;namespace 交错数组
{internal class Program{static void Main(string[] args){Console.WriteLine("非重点知识:交错数组");#region 知识点一 基本概念//交错数组 是 数组的数组,每个维度的数量可以不同//注意:二维数组的每行的列数相同,交错数组每行的列数可能不同#endregion#region 知识点二 数组的申明//变量类型[][] 交错数组名int[][] arr1;//变量类型[][] 交错数组名 =new 变量类型[行数][];int[][] arr2 = new int[3][];//变量类型[][] 交错数组名 =new 变量类型[行数][]{一维数组1,一维数组2,.......};int[][] arr3 = new int[3][] { new int[] { 1, 2, 3 },new int[] {1,2,3},new int[] { 1} };//变量类型[][] 交错数组名 =new 变量类型[][]{一维数组1,一维数组2,.......};int[][] arr4 = new int[][] { new int[] { 1, 2, 3 },new int[] {1,2,3},new int[] { 1} };//变量类型[][] 交错数组名 ={一维数组1,一维数组2,.......};int[][] arr5 ={ new int[] { 1, 2, 3 },new int[] {1,2,3},new int[] { 1} };#endregion#region 知识点三 数组的使用int[][] array = {new int[] { 1, 2,3 },new int[] { 4, 5,}};//1.数组的长度//行Console.WriteLine(array.GetLength(0));//得到某一行的列数Console.WriteLine(array[0].Length);//2.获取交错数组中的元素//注意:不要越界Console.WriteLine(array[0][1]);//3.修改交错数组中的元素array[0][1] = 99;Console.WriteLine(array[0][1]);//4.遍历交错数组for (int i = 0; i < array.GetLength(0); i++){for (int j = 0; j < array[i].Length; j++){Console.WriteLine(array[i][j] +" ");}Console.WriteLine();}#endregion//总结//1.概念:交错数组 可以存储同一类型的m行不确定列的数据//2.一定要掌握的内容:申明 遍历 增删查改//3. 所有的变量类型都可以申明为 交错数组//4. 一般交错数组很少使用 了解即可}}
}
相关文章:

C#数组复习
一、一维数组 using System.Collections; using System.Collections.Generic; using UnityEngine;public class ShuZu : MonoBehaviour {#region 知识点一 基本概念//数组是存储一组相同类型数据的集合//数组分为 一维、二维、交错数组//一般情况 一维数组 就简称为数组#en…...

无人机之在农业上的用途
随着无人机技术的发展,农业现代化也迎来了崭新局面,田间随处可见无人机矫健的身影。当农业遇上科技,变革正悄然进行。农业无人机主要应用于农业、种植业、林业等行业。在使用过程中,其功能和作用并不单一,一般用于种植…...

opengaussdb在oepnEuler上安装
安装前提: 软件环境:openEuler 20.03LTS 个人开发者最低配置2核4G,推荐配置4核8G 数据库版本:openGauss-5.0.2-openEuler-64bit-all.tar.gz 数据库下载地址: https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/In…...

一些和颜色相关网站
1.中国传统色 2.网页颜色选择器 3.渐变色网站 4.多风格色卡生成 5.波浪生成 6.半透明磨砂框 7.色卡组合...

Linux系统编程-文件系统
目录 什么是Linux文件系统 文件系统的职责 存储介质抽象 inode:文件系统的核心 文件分配策略 目录结构 文件系统布局 日志和恢复机制 目录权限 粘滞位(t位): 硬链接和符号链接 硬链接的特点: 创建硬链接: 符号链接的…...

【解决】ubuntu20.04 root用户无法SSH登陆问题
Ubuntu root用户无法登录的问题通常可以通过修改SSH配置文件和系统登录配置来解决。 修改SSH配置文件 sudo vim /etc/ssh/sshd_config 找到 PermitRootLogin 设置,并将其值更改为 yes 以允许root用户通过SSH登录 保存并关闭文件之后,需要重启SSH服务…...

(前缀和) LeetCode 238. 除自身以外数组的乘积
一. 题目描述 原题链接 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&…...

【JVM基础05】——组成-能不能解释一下方法区?
目录 1- 引言:方法区概述1-1 方法区是什么?(What)1-2 为什么用方法区?方法区的作用 (Why) 2- ⭐核心:详解方法区(How)2-1 能不能解释一下方法区?2-2 元空间内存溢出问题2-3 什么是常量池?2-4 运行时常量池 …...

前端:Vue学习-3
前端:Vue学习-3 1. 自定义指令2. 插槽2.1 插槽 - 后备内容(默认值)2.2 插槽 - 具名插槽2.3 插槽 - 作用域插槽 3. Vue - 路由3.1 路由模块封装3.2 声明式导航 router-link 高亮3.3 自定义匹配的类名3.4 声明式导肮 - 跳转传参3.5 Vue路由 - 重…...

npm 安装报错(已解决)+ 运行 “wue-cli-service”不是内部或外部命令,也不是可运行的程序(已解决)
首先先说一下我这个项目是3年前的一个项目了,中间也是经过了多个人的修改惨咋了布置多少个人的思想,这这道我手里直接npm都安装不上,在网上也查询了多种方法,终于是找到问题所在了 问题1: 先是npm i 报错在下面图片&…...

江苏科技大学24计算机考研数据速览,有专硕复试线大幅下降67分!
江苏科技大学(Jiangsu University of Science and Technology),坐落在江苏省镇江市,是江苏省重点建设高校,江苏省人民政府与中国船舶集团有限公司共建高校,国家国防科技工业局与江苏省人民政府共建高校 &am…...

20分钟上手新版Skywalking 9.x APM监控系统
Skywalking https://skywalking.apache.org/ Skywalking是专为微服务、云原生和基于容器的(Kubernetes)架构设计的分布式系统性能监控工具。 Skywalking关键特性 ● 分布式跟踪 ○ 端到端分布式跟踪。服务拓扑分析、以服务为中心的可观察性和API仪表板。…...

【07】LLaMA-Factory微调大模型——微调模型导出与微调参数分析
上文介绍了如何对微调后的模型进行使用与简单评估。本文将介绍对微调后的模型进行导出的过程。 一、llama-3微调后的模型导出 首先进入虚拟环境,打开LLaMA-Factory的webui页面 conda activate GLM cd LLaMA-Factory llamafactory-cli webui 之后,选择…...

动态路由协议 —— EIGRP 与 OSPF 的区别
EIGRP(增强内部网关路由协议)和 OSPF(开放式最短路径优先)是两种最常见的动态路由协议,主要是用来指定路由器或交换机之间如何通信。将其应用于不同的情况下,可提高速率、延迟等方面的性能。那么它们之间到…...

【中项】系统集成项目管理工程师-第5章 软件工程-5.1软件工程定义与5.2软件需求
前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…...

HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号1
基础认证题库请移步:HarmonyOS应用开发者基础认证题库 注:有读者反馈,题库的代码块比较多,打开文章时会卡死。所以笔者将题库拆分,单选题20个为一组,多选题10个为一组,题库目录如下,…...

Windows11(24H2)LTSC长期版下载!提前曝光Build26100?
系统;windows11 文章目录 前言一、LTSC是什么?二、 Windows 11 Vision 24H2 LTSC 的版本号为 Build 26100,镜像中提供以下三个 SKU:总结 前言 好的系统也能给你带来不一样的效果。 一、LTSC是什么? & & L…...

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十三章 驱动模块传参
i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...

uniapp 小程序 支付逻辑处理
uniapp 小程序 支付逻辑处理 上代码如果你不需要支付宝适配,可以删除掉支付宝的条件判断代码 <button class"subBtn" :disabled"submiting" click"goPay">去支付</button>// 以下代码你需要改的地方// 1. order/app/v1…...

scikit-learn库学习之make_regression函数
scikit-learn库学习之make_regression函数 一、简介 make_regression是scikit-learn库中用于生成回归问题数据集的函数。它主要用于创建合成的回归数据集,以便在算法的开发和测试中使用。 二、语法和参数 sklearn.datasets.make_regression(n_samples100, n_feat…...

经典文献阅读之--World Models for Autonomous Driving(自动驾驶的世界模型:综述)
Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时&…...

孙健提到的实验室的研究方向之一是什么?()
孙健提到的实验室的研究方向之一是什么?() 点击查看答案 A.虚拟现实B.环境感知和理解 C.智能体博弈D.所有选项都正确 图灵奖是在哪一年设立的?() A.1962B.1966 C.1976D.1986 孙健代表的实验室的前身主要研究什么?&…...

初级java每日一道面试题-2024年7月23日-Iterator和ListIterator有什么区别?
面试官: Iterator和ListIterator有什么区别? 我回答: Iterator和ListIterator都是Java集合框架中用于遍历集合元素的接口,但它们之间存在一些关键的区别,主要体现在功能和使用场景上。下面我将详细解释这两种迭代器的不同之处: 1. Iterat…...

2024-07-23 Unity AI行为树2 —— 项目介绍
文章目录 1 项目介绍2 AI 代码介绍2.1 BTBaseNode / BTControlNode2.2 动作/条件节点2.3 选择 / 顺序节点 3 怪物实现4 其他功能5 UML 类图 项目借鉴 B 站唐老狮 2023年直播内容。 点击前往唐老狮 B 站主页。 1 项目介绍 本项目使用 Unity 2022.3.32f1c1,实现基…...

Unity-URP-SSAO记录
勾选After Opacity Unity-URP管线,本来又一个“bug”, 网上查不到很多关于ssao的资料 以为会不会又是一个极度少人用的东西 而且几乎都是要第三方替代 也完全没有SSAO大概的消耗是多少,完全是黑盒(因为用的人少,研究的人少,优…...

无人机上磁航技术详解
磁航技术,也被称为地磁导航,是一种利用地球磁场信息来实现导航的技术。在无人机领域,磁航技术主要用于辅助惯性导航系统(INS)进行航向角的测量与校正,提高无人机的飞行稳定性和准确性。其技术原理是&#x…...

使用 cURL 命令测试网站响应时间
文章目录 使用 cURL 命令测试网站响应时间工具介绍cURL 命令详解命令参数说明输出格式说明示例运行结果总结使用 cURL 命令测试网站响应时间 本文将介绍如何使用 cURL 命令行工具来测试一个网站的响应时间。具体来说,我们将使用 cURL 命令来测量并显示各种网络性能指标,包括 …...

「网络通信」HTTP 协议
HTTP 🍉简介🍉抓包工具🍉报文结构🍌请求🍌响应🍌URL🥝URL encode 🍌方法🍌报文字段🥝Host🥝Content-Length & Content-Type🥝User…...

科普文:后端性能优化的实战小结
一、背景与效果 ICBU的核心沟通场景有了10年的“积累”,核心场景的界面响应耗时被拉的越来越长,也让性能优化工作提上了日程,先说结论,经过这一波前后端齐心协力的优化努力,两个核心界面90分位的数据,FCP平…...

LeetCode-day23-3098. 求出所有子序列的能量和
LeetCode-day23-3098. 求出所有子序列的能量和 题目描述示例示例1:示例2:示例3: 思路代码 题目描述 给你一个长度为 n 的整数数组 nums 和一个 正 整数 k 。 一个 子序列的 能量 定义为子序列中 任意 两个元素的差值绝对值的 最小值 。 请…...