C# 数组和集合

news2025/3/15 8:06:20

本课要点
1、数组概述

2、一维数组的使用

3、二维数组的使用

4、数组的基本操作

5、数组排序算法

6ArrayList集合

7Hashtable

8、常见错误

一 数组

1 数组引入1

问题:
简单问题:求4个整数的最大值?
在这里插入图片描述

int a = 40, b = 60, c = 30, d = 65;
int max = a;
if (b > max) max = b;
if (c > max) max = c;
if (d > max) max = d;
Console.WriteLine(max);

2 数组引入2

问题:
引申问题:求n个整数的最大值?
n的值很大时,仍然采用前面的方法可不可行?
在这里插入图片描述

3 数组引入3

如何解决前面遇到的问题?
将n个同类型的变量以整体的形式表示
能够以简单的方式访问整体中的每个元素

在这里插入图片描述

二 数组概述

数组是具有相同数据类型的一组数据的集合。数组中的每一个变量称为数组的元素,数组能够容纳元素的数量称为数组的长度。

在这里插入图片描述

三 一维数组的使用

在这里插入图片描述

1 一维数组的初始化

在这里插入图片描述

2 循环输出数组元素

在这里插入图片描述

3 常见错误

数组初始值的数目与数组的长度不一样
在这里插入图片描述

4 判断正误

在这里插入图片描述

四 二维数组

1 二维数组的使用

在这里插入图片描述

2 二维数组的初始化

在这里插入图片描述

3 常见错误1

二维数组的声明语法问题
在这里插入图片描述

4 常见错误2

二维数组行数的获取问题
在这里插入图片描述

五 数组的基本操作

1 数组的遍历

1)遍历一维数组

int[ ] array = new int[5] { 0, 1 ,2, 3, 4};  // 声明并初始化一维数组
foreach (int i in array )       // 输出一维数组中的所有元素
{
        Console.WriteLine(array[i]);
} 

2) 遍历二维数组

int[,] arr = new int[2, 3] { { 1, 2, 3 }, { 3, 4, 5 }};//定义二维数组
for (int i = 0; i < 2; i++)
{
      for (int j = 0; j < 3; j++)
     {
              Console.Write(Convert.ToString(arr[i, j]) + "
     }
     Console.Write("\n");
}

2 添加/删除数组元素

在这里插入图片描述

3 对数组进行排序

在这里插入图片描述

4 数组的合并与拆分

在这里插入图片描述

六 数组的排序算法

1 冒泡排序法

在这里插入图片描述

2 直接插入排序法

在这里插入图片描述

3 选择排序法

在这里插入图片描述

七 ArrayList类

在这里插入图片描述

1 ArrayList元素的添加

在这里插入图片描述

2 ArrayList元素的删除

在这里插入图片描述

3 ArrayList的遍历

问题:
如何循环输出ArrayList集合的元素呢?

ArrayList list = new ArrayList(); //创建一个ArrayList对象
list.Add("TM"); //向ArrayList集合中添加元素
list.Add("C#从入门到精通");
foreach (string str in list)	//遍历ArrayList集合中的元素并输出
{
     Console.WriteLine(str);
} 

八 Hashtable 类

在这里插入图片描述

1 Hashtable元素的添加

Add——向Hashtable中添加元素
在这里插入图片描述

2 Hashtable元素的删除

在这里插入图片描述

3 Hashtable 的遍历

问题:如何循环输出Hashtable集合中的元素呢?

Hashtable hashtable = new Hashtable(); //创建Hashtable对象
hashtable.Add("id", "BH0001"); //向Hashtable中添加元素
hashtable.Add("name", "TM");
hashtable.Add("sex", "男");
Console.WriteLine("\t 键\t 值");
foreach (DictionaryEntry dicEntry in hashtable)
{
     Console.WriteLine("\t " + dicEntry.Key + "\t " + dicEntry.Value);
} 

在这里插入图片描述

4 Hashtable元素的查找

Contains、ContainsKey方法——按键查找
在这里插入图片描述

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

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

相关文章

C语言自定义类型联合和枚举(25)

文章目录 前言一、联合体联合体的声明联合体的特点联合体和结构体内存布局对比联合体的大小计算联合体的实际使用样例礼品兑换单判断当前机器是大端还是小端 二、枚举枚举的定义枚举类型的声明枚举类型的优点枚举类型的使用 总结 前言 关于自定义类型除了我们常用的结构体&…

Kubernetes-Operator篇-04-operator部署验证

1、部署命令 这个是很多博客教程都在使用的部署命令&#xff1a; make manifests make install export ENABLE_WEBHOOKSfalse make run我们使用之前的demo来进行部署验证&#xff1a;Kubernetes-Operator篇-02-脚手架熟悉 这里面涉及到的makefile的配置可以参考&#xff1a;…

10.5二分专练,二分边界情况,+1不加1的判断,方向判断,各种DEBUG

5 https://leetcode.cn/problems/minimum-speed-to-arrive-on-time/submissions/570242512/ 就是说总时间是 前n-1量汽车的运行时间&#xff0c;向上取整&#xff0c;然后再加上最后一辆列车的运行时间 最快的话是需要n-1个小时 搜索空间就是时速&#xff0c;左边界是1&#x…

数学建模 第三讲 - 简单的优化模型

在数学建模的学习过程中&#xff0c;第三章介绍了几种简单的优化模型&#xff0c;这些模型在实际生活中有广泛的应用。以下是对这些模型的整理和总结。 3.1 存贮模型 问题描述 配件厂为装配线生产产品&#xff0c;更换设备需要支付生产准备费&#xff0c;产量大于需求时需要…

Llama 3.2 微调指南

让我们通过微调 Llama 3.2 来找到一些精神上的平静。 我们需要安装 unsloth&#xff0c;以更小的尺寸实现 2 倍的快速训练 !pip install unsloth!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] githttps://github.co…

OpenCV马赛克

#马赛克 import cv2 import numpy as np import matplotlib.pyplot as pltimg cv2.imread(coins.jpg,1) imgInfo img.shape height imgInfo[0] width imgInfo[1]for m in range(200,400): #m,n表示打马赛克区域for n in range(200,400):# pixel ->10*10if m%10 0 and …

初识Linux · 文件(1)

目录 前言&#xff1a; 回顾语言层面的文件 理解文件的预备知识 文件和磁盘 使用和认识系统调用函数 前言&#xff1a; 本文以及下篇文章&#xff0c;揭露的都是Linux中文件的奥秘&#xff0c;对于文件来说&#xff0c;初学Linux第一节课接触的就是文件&#xff0c;对于C…

Windows删除service服务

Windows删除service服务 找到命令提示符&#xff1a; 右键&#xff0c;以管理员身份运行 输入&#xff1a; sc delete 服务名 Windows根据TCP端口号查找进程PID再kill进程_windows tcpkill-CSDN博客文章浏览阅读5.3k次&#xff0c;点赞42次&#xff0c;收藏104次。Windows根据…

【408计算机考研课程】数据结构-数据结构在学什么?

前言 数据结构在学什么&#xff1f; 如何用程序代码把现实世界的问题信息化如何用计算机高效地处理这些信息从而创造价值 第一章&#xff1a;数据结构在学什么&#xff1f; 总览 什么是数据&#xff1f; 简介&#xff1a;数据是信息的载体&#xff0c;是描述客观事物属性的数、…

【在Linux世界中追寻伟大的One Piece】进程信号

目录 1 -> 信号入门 1.1 -> 生活角度的信号 1.2 -> 技术应用角度的信号 1.3 -> 注意 2 -> 信号的概念 2.1 -> 用kill -l命令可以查看系统定义的信号列表 2.2 -> 信号处理常见方式 3 -> 产生信号 3.1 -> Core Dump 3.2 -> 调用系统函数…

已解决-Nacos明明成功运行,但Spring报错连接不上

这天使用windows本地nacos的时候&#xff0c;一直报错&#xff1a; Caused by: com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTIN…

(计算机组成原理)

计算机的发展 计算机系统硬件&#xff08;计算机的实体&#xff0c;如主机&#xff0c;外设等&#xff09;软件&#xff08;由具有各种特殊功能的程序组成&#xff09; 硬件是计算机系统的物理基础&#xff0c;硬件决定瓶颈&#xff0c;软件决定性能发挥的程度 第一台电子数字计…

YOLOv4和Darknet实现坑洼检测

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有&#xff1a;中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等&#xff0c;曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝&#xff0c;拥有2篇国家级人工智能发明专利。 社区特色…

IDEA如何自定义创建类的文档注释

说明&#xff1a;在IDEA中&#xff0c;创建一个Java类文件&#xff0c;会在类上面自动生成文档注释&#xff0c;如下&#xff1a; 看样子&#xff0c;默认是计算机的用户名&#xff0c;然后加上当前的创建时间。可以在IDEA中的Setting中设置&#xff0c;如下&#xff1a; /*** …

汽车追尾为什么是后车的责任?

简单点说&#xff1a;因为人后面没有长眼睛。 结论 在汽车追尾事故中&#xff0c;通常情况下后车被认为是责任方的原因在于交通法规对驾驶安全标准的约定和实践中的责任识别原则。虽然追尾事故常见地被归责于后车&#xff0c;但具体判断并不是绝对的&#xff0c;仍需综合多种…

C++11中的特性

这里主要讲解一些C11相较于C98所新增的比较实用的新特性。 C11的官方文档&#xff1a;C11 - cppreference.comhttps://en.cppreference.com/w/cpp/11 一、列表初始化&#xff08;List-initialization&#xff09; &#xff08;一&#xff09;、使用“{}”进行初始化 在C98中&…

有关自连接表的统一封装

表结构 RecursionBean Getter Setter ToString JsonInclude(JsonInclude.Include.NON_EMPTY) public class RecursionBean<T> extends BaseVO {/*** 编号*/private T id;/*** 父权限ID&#xff0c;根节点的父权限为空* 注释掉JsonIgnore&#xff0c;是为了前端判断是否…

Linux驱动开发常用调试方法汇总

引言&#xff1a;在 Linux 驱动开发中&#xff0c;调试是一个至关重要的环节。开发者需要了解多种调试方法&#xff0c;以便能够快速定位和解决问题。 1.利用printk 描述&#xff1a; printk 是 Linux 内核中的一个调试输出函数&#xff0c;类似于用户空间中的 printf。它用于…

CE找CSGO人物坐标和视角基址-幽络源原创

前言 幽络源站长本次免费分享的是CE找CSGO人物坐标和视角基址 本教程分为两篇&#xff0c;当前为上篇->找基址 所具备的知识 CE的使用 教程目的 通过CE找到一些基地址&#xff0c;然后结合Python实现CSGO的透视绘制&#xff0c;这里我们是纯手写透视。 第一步&#x…

如何使用CMD命令启动应用程序(二)

说明&#xff1a;去年1024发布了一篇博客&#xff0c;介绍如何使用CMD命令启动应用程序&#xff0c;但实际情况&#xff0c;有些程序可能无法用配置环境变量的方式来启动&#xff0c;本文针对两种情况下的程序&#xff0c;如何使用CMD命令来启动&#xff0c;算是对上一篇博客的…