第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

比較C#中數組的最簡單方法

比較C#中數組的最簡單方法

汪汪一只貓 2019-11-29 09:59:52
在Java中,Arrays.equals()可以輕松比較兩個基本數組的內容(所有基本類型都可以使用重載)。C#中有這樣的事情嗎?有什么“神奇”的方法可以比較C#中兩個數組的內容?
查看完整描述

3 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

您可以使用SequenceEqual。這適用于任何IEnumerable<T>數組,而不僅僅是數組。


查看完整回答
反對 回復 2019-11-29
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

在LINQ中使用SequenceEqual。


int[] arr1 = new int[] { 1,2,3};

int[] arr2 = new int[] { 3,2,1 };


Console.WriteLine(arr1.SequenceEqual(arr2)); // false

Console.WriteLine(arr1.Reverse().SequenceEqual(arr2)); // true


查看完整回答
反對 回復 2019-11-29
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

同樣對于數組(和元組),您可以使用.NET 4.0中的新接口:IStructuralComparable和IStructuralEquatable。使用它們,您不僅可以檢查數組的相等性,還可以比較它們。


static class StructuralExtensions

{

    public static bool StructuralEquals<T>(this T a, T b)

        where T : IStructuralEquatable

    {

        return a.Equals(b, StructuralComparisons.StructuralEqualityComparer);

    }


    public static int StructuralCompare<T>(this T a, T b)

        where T : IStructuralComparable

    {

        return a.CompareTo(b, StructuralComparisons.StructuralComparer);

    }

}


{

    var a = new[] { 1, 2, 3 };

    var b = new[] { 1, 2, 3 };

    Console.WriteLine(a.Equals(b)); // False

    Console.WriteLine(a.StructuralEquals(b)); // True

}

{

    var a = new[] { 1, 3, 3 };

    var b = new[] { 1, 2, 3 };

    Console.WriteLine(a.StructuralCompare(b)); // 1

}


查看完整回答
反對 回復 2019-11-29
  • 3 回答
  • 0 關注
  • 1560 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號