2021-10-23更新
List<byte> l1=new List<byte>{0x01,0x02,0x03} List<byte> l2=new List<byte>{0x01,0x02,0x03} //上面l1和l2内容是一样的 l1==l2;//这样返回为假 l1.Equals(l2);//这样也为假 l1.SequenceEqual(l2);//这样才为真 Linq 自带函数SequenceEqual 查看内容是否一样 //==================================================================================== //2019-05-02 更新 //有的时候 两个集合内容一样 但是 集合内元素顺序不一样,用以上方法判断都是false //以下是解决 判断两个集合的所有元素都否都一样 List<byte> l3=new List<byte>{0x11,0x22,0x03} List<byte> l4=new List<byte>{0x22,0x11,0x03} bool b1 = l4.All(l3.Contains); //判断l3里面是否都包含l4里面的所有元素这里为true //如果l3里面的元素为{0x11,0x22,0x03,0x04} 比l4{0x22,0x11,0x03}多一个元素 这里也为true //如果l3里面的元素为{ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 } 比l4{0x22,0x11,0x03}多6一个元素 这里也为true //如里l4里面元素为{0x22,0x11,0x03,0x04} l3里面元素为{0x11,0x22,0x03} 则b1为false bool b3 = l3.SequenceEqual(l4); //结果为false //l3和l4里面内容都一样 但顺序不一样 如果像上面 l1和l2内容和顺序也一样则为true