ASP.NET|日常开发中数据集合详解

在这里插入图片描述
在这里插入图片描述

ASP.NET|日常开发中数据集合详解

  • 前言
  • 一、数组(Array)
    • 1.1 定义和基本概念
    • 1.2 数组的操作
  • 二、列表(List<T>)
    • 2.1 特点和优势
    • 2.2 常用操作
  • 三、字典(Dictionary<K, V>)
    • 3.1 概念和用途
    • 3.2 操作方法
  • 四、哈希集(HashSet<T>)
    • 4.1 特点和应用场景
    • 4.2 操作介绍
  • 结束语
  • 优质源码分享

ASP.NET|日常开发中数据集合详解,在ASP.NET的日常开发中,处理数据集合是一个非常重要的环节。数据集合通常用于存储、操作和传递多个数据项。在.NET框架中,有多种数据集合类型可供选择,每种类型都有其特定的用途和性能特点。以下是对ASP.NET日常开发中常用数据集合的详解。

前言

        在数字浪潮汹涌澎湃的时代,程序开发宛如一座神秘而宏伟的魔法城堡,矗立在科技的浩瀚星空中。代码的字符,似那闪烁的星辰,按照特定的轨迹与节奏,组合、交织、碰撞,即将开启一场奇妙且充满无限可能的创造之旅。当空白的文档界面如同深邃的宇宙等待探索,程序员们则化身无畏的星辰开拓者,指尖在键盘上轻舞,准备用智慧与逻辑编织出足以改变世界运行规则的程序画卷,在 0 和 1 的二进制世界里,镌刻下属于人类创新与突破的不朽印记。

一、数组(Array)

1.1 定义和基本概念

    数组是一种最基本的数据集合类型,它是一个包含固定大小的相同类型元素的顺序集合。在ASP.NET开发中,数组用于存储和操作一组相关的数据。例如,存储一组用户的年龄或者一组产品的价格。

    数组的大小在创建时就已经确定,并且不能轻易改变。例如,下面是一个简单的整数数组的声明:

int[] ages = new int[5];

    这个数组可以存储 5 个整数,索引从 0 到 4。

1.2 数组的操作

    元素访问:通过索引访问数组元素,如ages[0]表示访问数组ages中的第一个元素。

    赋值和修改:可以对数组元素进行赋值和修改操作。例如,ages[0] = 25;将数组的第一个元素赋值为 25。

    遍历数组:可以使用循环来遍历数组。在 C# 中,最常用的是for循环。例如:

for (int i = 0; i < ages.Length; i++)
{
    Console.WriteLine(ages[i]);
}

    这将依次打印数组ages中的每个元素。

二、列表(List)

2.1 特点和优势

    List是一种动态大小的数据集合,它在System.Collections.Generic命名空间下。与数组不同,List可以方便地添加和删除元素,其大小会根据元素的添加和删除自动调整。

    例如,List可以用于存储整数集合,List可以存储字符串集合。以下是一个创建和使用List的示例:

List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");

    这里创建了一个List并添加了两个元素。

2.2 常用操作

    添加元素:使用Add方法添加元素,如上面示例所示。还可以使用Insert方法在指定位置插入元素,例如names.Insert(1, “Charlie”);会将 “Charlie” 插入到索引为 1 的位置。

    删除元素:可以使用Remove方法根据元素的值删除元素,如names.Remove(“Bob”);。如果要根据索引删除元素,可以使用RemoveAt方法,例如names.RemoveAt(0);会删除索引为 0 的元素。

    查找元素:可以使用Contains方法检查集合中是否包含特定元素,如if (names.Contains(“Alice”)) {…}。还可以使用IndexOf方法查找元素的索引,例如int index = names.IndexOf(“Alice”);。

    遍历列表:和数组类似,可以使用for循环遍历List,也可以使用foreach循环。例如:

foreach (string name in names)
{
    Console.WriteLine(name);
}

三、字典(Dictionary<K, V>)

3.1 概念和用途

    Dictionary<K, V>是一种键 - 值对(key - value pair)的数据集合,它存储的元素是由一个键和一个与之关联的值组成。在System.Collections.Generic命名空间下。这种数据结构适用于需要根据键快速查找值的场景。

    例如,在一个用户信息管理系统中,可以使用Dictionary<string, UserInfo>,其中键是用户的用户名,值是包含用户详细信息(如年龄、地址等)的UserInfo对象。

3.2 操作方法

    添加元素:使用Add方法添加键 - 值对,例如:

Dictionary<string, int> scores = new Dictionary<string, int>();
scores.Add("Alice", 90);
scores.Add("Bob", 80);

    访问元素:通过键来访问值,如int aliceScore = scores[“Alice”];。但是要注意,如果键不存在,会抛出异常。可以使用TryGetValue方法来避免这种情况,例如:

if (scores.TryGetValue("Charlie", out int charlieScore))
{
    Console.WriteLine($"Charlie's score: {charlieScore}");
}
else
{
    Console.WriteLine("Charlie's score not found.");
}

    删除元素:使用Remove方法根据键删除元素,如scores.Remove(“Bob”);。

    遍历字典:可以使用foreach循环遍历字典。由于字典包含键 - 值对,所以遍历的变量类型是KeyValuePair<K, V>。例如:

foreach (KeyValuePair<string, int> score in scores)
{
    Console.WriteLine($"{score.Key}: {score.Value}");
}

四、哈希集(HashSet)

4.1 特点和应用场景

    HashSet是一个无序的、不包含重复元素的数据集合,位于System.Collections.Generic命名空间下。它主要用于快速判断一个元素是否在集合中,以及进行集合的交集、并集、差集等操作。

    例如,在一个用户权限管理系统中,HashSet可以用于存储用户拥有的权限名称集合,通过判断一个权限名称是否在集合中,来确定用户是否具有该权限。

4.2 操作介绍

    添加元素:使用Add方法添加元素,例如:

HashSet<string> permissions = new HashSet<string>();
permissions.Add("read");
permissions.Add("write");

    检查元素是否存在
    使用Contains方法,如if (permissions.Contains(“read”)) {…}。
    集合操作
    交集(IntersectWith):可以计算两个HashSet的交集。例如:

    HashSet<string> otherPermissions = new HashSet<string>() { "read", "execute" };
    permissions.IntersectWith(otherPermissions);

    这将使permissions集合变为它与otherPermissions集合的交集。

    并集(UnionWith):用于计算并集,例如permissions.UnionWith(otherPermissions);会将otherPermissions中的元素添加到permissions中,去除重复元素。

    差集(ExceptWith):计算差集,例如permissions.ExceptWith(otherPermissions);会从permissions中去除otherPermissions中包含的元素。

结束语

        亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。

         愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。

        至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。


--------------- 业精于勤,荒于嬉 ---------------
 

请添加图片描述

--------------- 行成于思,毁于随 ---------------

优质源码分享

  • 【百篇源码模板】html5各行各业官网模板源码下载

  • 【模板源码】html实现酷炫美观的可视化大屏(十种风格示例,附源码)

  • 【VUE系列】VUE3实现个人网站模板源码

  • 【HTML源码】HTML5小游戏源码

  • 【C#实战案例】C# Winform贪吃蛇小游戏源码


在这里插入图片描述


     💞 关注博主 带你实现畅游前后端

     🏰 大屏可视化 带你体验酷炫大屏

     💯 神秘个人简介 带你体验不一样得介绍

     🎀 酷炫邀请函 带你体验高大上得邀请


     ① 🉑提供云服务部署(有自己的阿里云);
     ② 🉑提供前端、后端、应用程序、H5、小程序、公众号等相关业务;
     如🈶合作请联系我,期待您的联系。
    :本文撰写于CSDN平台,作者:xcLeigh所有权归作者所有) ,https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌


原文地址:https://blog.csdn.net/weixin_43151418/article/details/144309337(防止抄袭,原文地址不可删除)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

金融信息系统多活技术-应用策略

目录 概述 ​编辑 多活应用场景 流水型系统 账户型系统 流水型系统应用策略 业务模型说明 系统并行策略 接入和路由策略 系列阅读 概述 本文件提出了金融信息系统多活技术的应用指南&#xff0c;金融机构可根据自身业务需要&#xff0c;结合本文件进行 多活信息系统的…

大数据之Hbase环境安装

Hbase软件版本下载地址&#xff1a; http://mirror.bit.edu.cn/apache/hbase/ 1. 集群环境 Master 172.16.11.97 Slave1 172.16.11.98 Slave2 172.16.11.99 2. 下载软件包 #Master wget http://archive.apache.org/dist/hbase/0.98.24/hbase-0.98.24-hadoop1-bin.tar.gz…

人工智能ACA(四)--机器学习基础

零、参考资料 一篇文章完全搞懂正则化&#xff08;Regularization&#xff09;-CSDN博客 一、 机器学习概述 0. 机器学习的层次结构 学习范式&#xff08;最高层&#xff09; 怎么学 监督学习 无监督学习 半监督学习 强化学习 学习任务&#xff08;中间层&#xff0…

HTML语法规范

HTML语法规则 HTML 标签是由尖括号包围的关键词&#xff0c;标签通常是成对出现的&#xff0c;例如 <html> 和 </html>&#xff0c;称为双标签 。标签对中的第一个标签是开始标签&#xff0c;第二个标签是结束标签单标签比较少&#xff0c;例如<br />&#x…

四川托普信息技术职业学院教案1

四川托普信息技术职业学院教案 【计科系】 周次 第 1周&#xff0c;第1次课 备 注 章节名称 第1章 XML语言简介 引言 1.1 HTML与标记语言 1.2 XML的来源 1.3 XML的制定目标 1.4 XML概述 1.5 有了HTML了&#xff0c;为什么还要发展XML 1.5.1 HTML的缺点 1.5.2 XML的特点 1.6 X…

Win10将WindowsTerminal设置默认终端并添加到右键(无法使用微软商店)

由于公司内网限制&#xff0c;无法通过微软商店安装 Windows Terminal&#xff0c;本指南提供手动安装和配置新版 Windows Terminal 的步骤&#xff0c;并添加右键菜单快捷方式。 1. 下载新版终端安装包: 访问 Windows Terminal 的 GitHub 发布页面&#xff1a;https://githu…

OpenAI发布新一代推理模型O3和O3 Mini:能力与性能的双重突破

2024年12月21日&#xff0c;OpenAI通过一场特别活动正式宣布了其新一代推理模型O3及其轻量化版本O3 Mini。这标志着AI推理能力和效率的又一次飞跃。本文将围绕发布会中的关键内容&#xff0c;详细介绍O3和O3 Mini的核心能力、性能表现、以及面向公众安全测试的相关计划。 1. 背…

VScode插件之get、set函数自动生成

文章目录 VScode插件之get、set函数自动生成插件名称现有功能功能快捷键使用总结与部分插件的get、set生成对比部分实现效果展示部分实现思路 VScode插件之get、set函数自动生成 初次尝试插件的编写开发&#xff0c;这篇博客也是对自己成果的一个记录&#xff0c;如有不足请指…

【Lua热更新】上篇

Lua 热更新 - 上篇 下篇链接&#xff1a;【Lua热更新】下篇 文章目录 Lua 热更新 - 上篇一、AssetBundle1.理论2. AB包资源加载 二、Lua 语法1. 简单数据类型2.字符串操作3.运算符4.条件分支语句5.循环语句6.函数7. table数组8.迭代器遍历9.复杂数据类型 - 表9.1字典9.2类9.3…

完全二叉树的权值(蓝桥杯2019年试题G)

给定一棵包含N个节点的完全二叉树&#xff0c;树上的每个节点都有一个权值&#xff0c;按从上到小、从左到右的顺序依次是A1、A2……An,&#xff08;1&#xff0c;2&#xff0c;n为下标。&#xff09;如下图所示。 现在&#xff0c;小明要把相同深度的节点的权值加到一起&#…

时间管理系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

前端yarn工具打包时网络连接问题排查与解决

最近线上前端打包时提示 “There appears to be trouble with your network connection”&#xff0c;以此文档记录下排查过程。 前端打包方式 docker启动临时容器打包&#xff0c;命令如下 docker run --rm -w /app -v pwd:/app alpine-node-common:v16.20-pro sh -c "…

harmony UI组件学习(1)

Image 图片组件 string格式&#xff0c;通常用来加载网络图片&#xff0c;需要申请网络访问权限:ohos.permission.INTERNET Image(https://xxx.png) PixelMap格式&#xff0c;可以加载像素图&#xff0c;常用在图片编辑中 Image(pixelMapobject) Resource格式&#xff0c;加…

mac 安装graalvm

Download GraalVM 上面链接选择jdk的版本 以及系统的环境下载graalvm的tar包 解压tar包 tar -xzf graalvm-jdk-<version>_macos-<architecture>.tar.gz 移入java的文件夹目录 sudo mv graalvm-jdk-<version> /Library/Java/JavaVirtualMachines 设置环境变…

14-zookeeper环境搭建

0、环境 java&#xff1a;1.8zookeeper&#xff1a;3.5.6 1、下载 zookeeper下载点击这里。 2、安装 下载完成后解压&#xff0c;放到你想放的目录里。先看一下zookeeper的目录结构&#xff0c;如下图&#xff1a; 进入conf目录&#xff0c;复制zoo_sample.cfg&#xff0…

如何使用Python处理视频合成

使用 Python 处理视频合成可借助 MoviePy 库&#xff0c;以下是具体步骤&#xff1a; 安装 MoviePy 通过 pip 命令安装&#xff0c;即 pip install moviepy&#xff0c;需确保已安装 ffmpeg&#xff0c;并正确设置环境变量&#xff0c;因为 MoviePy 依赖它来处理视频. 基本合…

存储过程 与 存储函数的区别及用法 及 触发器 !!!

引言&#xff1a; 存储函数和存储过程&#xff0c;作为数据库中的预编译代码块&#xff0c;能够封装复杂的业务逻辑和数据处理流程&#xff0c;使得数据库操作更加简洁、易读和可维护。而触发器&#xff0c;则像是一个智能的守卫&#xff0c;能够在特定事件发生时自动执行预设的…

用nginx部署两个前端(超简单,三步!)

1.首先在nginx的html目录下创两个文件夹分别用于放两个前端打包好的静态资源&#xff0c;并且把静态资源各自放好&#xff1a; 2. 在nginx的配置文件里&#xff0c;写好两个server。如图&#xff0c;写好两个前端要用的端口以及刚才那两文件夹的路径&#xff1a; worker_proces…

level2逐笔委托查询接口

沪深逐笔委托队列查询 前置步骤 分配数据库服务器 查询模板 以下是沪深委托队列查询的请求模板&#xff1a; http://<数据库服务器>/sql?modeorder_book&code<股票代码>&offset<offset>&token<token>查询参数说明 参数名类型说明mo…

flask-admin的modelview 实现list列表视图中某个列字段值翻译

背景&#xff1a; flask-admin 开发中modelview视图是非常强大的&#xff0c;但文档写的很难受&#xff0c;只能通过源码慢慢摸索学习&#xff0c;一点点记录 材料&#xff1a; 可用的flask-admin 环境 制作&#xff1a; 样例代码&#xff1a; 1、modelview 视图代码 col…