Они не эквивалентны.
SequenceEqual
использует Equals
для каждого элемента последовательности.Поскольку map
является двумерным массивом, каждый «элемент» на самом деле является строкой, и это означает, что это Equals
метод Array
, который в итоге вызывается.
Ваш метод использует сравнение каждогоэлемент, непосредственно используя !=
, что равно , что вы хотите.
Решением было бы предоставить пользовательский компаратор равенства для SequenceEquals.Затем указанный компаратор снова вызовет SequenceEquals.