数组比较的几种方式

简介: 1、string.Equals()```csharpstring[] strList1= new string[3] {"1", "2", "3"};string[] strList2= new string[3] {"4", "5", "6"}; if (!string.Equals(strList1, strList2)){ // 比较数组的不同之处}// 涉及到修改日志输出等数组可以直接json序列化然后用上述方法比较即可,如下if (!string.Equals(JsonConvert.SerializeObject(list1), JsonConvert

1、string.Equals()

string[] strList1= new string[3] {
   "1", "2", "3"};
string[] strList2= new string[3] {
   "4", "5", "6"};

if (!string.Equals(strList1, strList2))
{
   
    // 比较数组的不同之处
}

// 涉及到修改日志输出等数组可以直接json序列化然后用上述方法比较即可,如下
if (!string.Equals(JsonConvert.SerializeObject(list1), JsonConvert.SerializeObject(list2)))
{
   
    // 比较数组的不同之处
}

2、通过使用相同类型的默认相等比较器对序列元素进行比较,以确定两个序列是否相等。

// 输入代码内容
if (Enumerable.SequenceEqual(strList1,strList2))
{
   
     // 比较数组的不同之处
}

3、数组逐个值比较

public static bool CompareArray(string[] list1, string[] list2)
{
   
    var length1 = list1.Length;
    var length2 = list2.Length;
    if (length1 != length2)
        return false;
    for (var i = 0; i < length1; i++)
    {
   
        if (list1[i] != list2[i])
            return false;
    }
    return true;
}

// 应用
var isEqual = CompareArray(strList1, strList2);
Console.WriteLine("是否相等:" + isEqual);

4、数组的交集

//找出相同元素(即交集)
var sameArr = arr1.Intersect(arr2).ToArray();
//找出不同的元素(即交集的补集)
var diffArr = arr1.Where(c => !arr2.Contains(c)).ToArray();

if (diffArr.Count() == 0)
{
   
   // 相同
}
else
{
   
   // 不同
}

5、string.Compare()

6、StringComparer类

以上就是数组比较的几种方式的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

目录
相关文章
|
4月前
|
XML 存储 前端开发
免费在线图片转Base64编码工具
利用图片转 Base64 编码工具(支持 PNG, GIF, JPEG 等格式)。操作极其简单:将目标图片拖拽至工具指定区域,即可自动完成转换并获得编码结果。
1443 3
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
425 0
|
编译器 C语言 C++
C/C++内存对齐规则(结构体、联合体、类)
C/C++内存对齐规则(结构体、联合体、类)
|
存储 Kubernetes C++
Kubernetes VS Docker Swarm:哪个容器编排工具更适合你?
当今,容器化技术已成为IT领域的热门话题,而容器编排工具是实现容器自动化部署和管理的关键。本文将比较两种主流的容器编排工具Kubernetes和Docker Swarm,并探讨它们的优缺点,以帮助你选择最适合自己的工具。
|
XML Java API
List与String相互转化的方法有哪些
摘要:本文概述了Java中List转换为String及反之的多种策略。使用`String.join()`可简洁地连接List元素;`StringBuilder`提供灵活控制;Java 8 Stream API收集器简化操作;Apache Commons Lang3的`StringUtils.join()`和Guava的`Joiner.on()`支持外部库的高效转换。
559 2
|
XML Java Android开发
34. 【Android教程】菜单:Menu
34. 【Android教程】菜单:Menu
523 2
|
存储 网络协议 安全
IT入门知识第一部分《IT基础知识》(1/10)
IT入门知识第一部分《IT基础知识》(1/10)
381 0
|
Arthas 运维 监控
排忧解难:线上问题排查工具箱
线上系统在各行各业中扮演关键角色,任何问题都可能对企业运营造成严重影响。排查复杂性增加,需要专门的线上问题排查工具箱。工具箱包含监控、日志分析、性能分析和故障排查工具,如系统监控的`top`、`htop`,应用监控的`New Relic`、`AppDynamics`,日志分析的`ELK Stack`、`Graylog`,以及故障排查的`jps`、`jstack`、`Arthas`等。这些工具能提升问题解决效率,降低排查成本,确保业务连续性。
393 2
|
弹性计算 Serverless 应用服务中间件
ECS迁移问题之跨账号迁移ECS如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
存储 SQL 数据库
软件体系结构 - 架构风格(10)数据库系统架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(10)数据库系统架构风格
330 0