C#数组复习

news2024/9/21 22:28:16

一、一维数组 

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 update
    void 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  练习题一
 //请创建一个一维数组并赋值,让其值与下标一样,长度为100
 int[] 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  最后一个元素的索引  肯定是长度-1
            Console.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 2
                    Console.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的行和列全部置1
 int 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的标识
             //要变一 就置true
             hang[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. 一般交错数组很少使用 了解即可
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1945121.html

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

相关文章

Onenet模拟Mqtt调试物联网设备

本章节目录 一.调试器模拟设备登录 二.调试器模拟上传数据 三.调试器接受下发控制消息 一.调试器模拟设备登录(让设备处于在线状态) 1.打开文档中心(open.iot.10086.cn) 2,Onenet物联网开放平台 3.产品开发,设备接入->设备开发 4.mqtt协议接入->最佳实践 5.物模型数据交…

样式迁移及代码

一、定义 1、使用卷积神经网络&#xff0c;自动将一个图像中的风格应用在另一图像之上&#xff0c;即风格迁移&#xff1b;两张输入图像&#xff1a;一张是内容图像&#xff0c;另一张是风格图像。 2、训练一些样本使得样本在一些cnn的特征上跟样式图片很相近&#xff0c;在一…

PHP教程002:PHP变量介绍

文章目录 一、PHP程序1、PHP标记2、PHP代码3、语句结束符;4、注释 二、PHP变量2.1 声明变量2.2 赋值运算符3、变量命名规则 一、PHP程序 PHP文件的默认扩展名是".php"PHP文件可以包含html、css、js 序号组成描述1<?php ... ?>PHP标记2PHP代码函数、数组、流…

二、原型模式

文章目录 1 基本介绍2 实现方式深浅拷贝目标2.1 使用 Object 的 clone() 方法2.1.1 代码2.1.2 特性2.1.3 实现深拷贝 2.2 在 clone() 方法中使用序列化2.2.1 代码 2.2.2 特性 3 实现的要点4 Spring 中的原型模式5 原型模式的类图及角色5.1 类图5.1.1 不限制语言5.1.2 在 Java 中…

Java之集合底层-数据结构

Java集合之数据结构 1 概述 数据结构是计算机科学中研究数据组织、存储和操作的一门学科。它涉及了如何组织和存储数据以及如何设计和实现不同的数据操作算法和技术。常见的据结构有线性数据结构&#xff08;含数组、链表、栈和队列等&#xff09;&#xff0c;非线性数据结构…

四、GD32 MCU 常见外设介绍(1)RCU 时钟介绍

系统架构 1.RCU 时钟介绍 众所周知&#xff0c;时钟是MCU能正常运行的基本条件&#xff0c;就好比心跳或脉搏&#xff0c;为所有的工作单元提供时间 基数。时钟控制单元提供了一系列频率的时钟功能&#xff0c;包括多个内部RC振荡器时钟(IRC)、一个外部 高速晶体振荡器时钟(H…

Meta发布最强AI模型,扎克伯格公开信解释为何支持开源?

凤凰网科技讯 北京时间7月24日&#xff0c;脸书母公司Meta周二发布了最新大语言模型Llama 3.1&#xff0c;这是该公司目前为止推出的最强大开源模型&#xff0c;号称能够比肩OpenAI等公司的私有大模型。与此同时&#xff0c;Meta CEO马克扎克伯格(Mark Zuckerberg)发表公开信&a…

力扣1792.最大平均通过率

力扣1792.最大平均通过率 每个班级加上一个人以后得通过率增量不同 将优先级最高的班级放队列顶&#xff0c;每次操作即可 class Solution {public:struct Radio{int pass;int total;//满足该条件 oth的优先级更高bool operator < (const Radio& oth)const{return (l…

【中项】系统集成项目管理工程师-第4章 信息系统架构-4.1架构基础

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

Java习题二

一题目要求&#xff1a; 二具体代码&#xff1a; package three;import sun.util.resources.LocaleData;import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*;public class test {public static void main(String[] args) {String us…

php--高级文件绕过

&#x1f3bc;个人主页&#xff1a;金灰 &#x1f60e;作者简介:一名简单的大一学生;易编橙终身成长社群的嘉宾.✨ 专注网络空间安全服务,期待与您的交流分享~ 感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持&#xff01;❤️ &#x1f34a;易编橙终身成长社群&#…

UCOS-III 任务调度接口(OSSched)详解

在实时操作系统uC/OS-III中&#xff0c;调度器是核心组件之一&#xff0c;它负责管理任务的执行顺序和优先级。本文将详细解析uC/OS-III内核中的调度函数OSSched。 OSSched函数简介 OSSched函数用于检查并确定是否有更高优先级的任务需要运行。该函数通常在任务级别代码中调用…

【快速逆向四/无过程/有源码】浙江工商职业技术学院 统一身份认证

逆向日期&#xff1a;2024.07.23 使用工具&#xff1a;Node.js 加密方法&#xff1a;RSAUtils 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js 标准算法&#xf…

使用 Socket和动态代理以及反射 实现一个简易的 RPC 调用

使用 Socket、动态代理、反射 实现一个简易的 RPC 调用 我们前面有一篇 socket 的文章&#xff0c;再之前&#xff0c;还有一篇 java动态代理的文章&#xff0c;本文用到了那两篇文章中的知识点&#xff0c;需要的话可以回顾一下。 下面正文开始&#xff1a; 我们的背景是一个…

掌握Rust:函数、闭包与迭代器的综合运用

掌握Rust&#xff1a;函数、闭包与迭代器的综合运用 引言&#xff1a;解锁 Rust 高效编程的钥匙函数定义与模式匹配&#xff1a;构建逻辑的基石高阶函数与闭包&#xff1a;代码复用的艺术迭代器与 for 循环&#xff1a;高效数据处理的引擎综合应用案例&#xff1a;构建一个简易…

最新App崩溃率出炉!这样的行业均值水平如何?

前不久发布的《2024 Q1 移动应用性能体验报告》(以下简称报告),公布了最新的App崩溃率行业均值。基于友盟覆盖的终端设备,观测启动次数和崩溃次数,《报告》综合计算得出iOS APP崩溃率0.21%,Android Java崩溃率0.22%、native 0.16%、ANR 0.53%。 作为国内领先的第三方全域数据智…

PyMol在Windows系统上的免费安装指南

PyMOL是一个强大的分子可视化工具&#xff0c;广泛应用于生物化学、分子生物学和材料科学等领域。对于需要在Windows系统上进行分子结构分析和可视化的用户来说&#xff0c;安装一个免费版本的PyMol至关重要。本文将提供详细的步骤&#xff0c;指导如何在Windows系统上免费安装…

有哪些好用的 AI 学术研究工具和科研工具?

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ AI 应用其实分两个层面&#xff0c;第一是模型&#xff0c;第二是应用。现在很多模型厂家都是既做 toC 的对话应用&#xff0c;也做 t…

Jmeter性能测试进行参数化操作

在使用Jmeter进行性能测试中,Jmeter的基本操作是肯定要会的,除此之外,还需要会多并发压测配置线程,多用户并发参数化的设置等等技术.下面就给大家介绍一下这个方面的内容: 一.Jmeter单个请求部署 1.设置线程组 注意:如果要使用调度器,那么循环次数的”永远”的选项一定要记得…

MySQL-视图、存储过程和触发器

一、视图的定义和使用 视图是从一个或者几个基本表&#xff08;或视图&#xff09;导出的表。它与基本表不同&#xff0c;是一个虚表,视图只能用来查询。不能做增删改查(虚拟的表) 1.视图的作用 简化查询重写格式化数据频繁访问数据库过滤数据 2.创建视图 -- 创建视图 -- 语法…