SequenceEqual
SequenceEqual сравнивает содержимое, а не
ссылки. Разная длина сразу даёт false.
Синтаксис
bool same = left.SequenceEqual(right);
Пример
Давайте сравним два одинаковых текста:
using System;
class Program
{
static void Main()
{
ReadOnlySpan<char> a = "abcde".AsSpan();
ReadOnlySpan<char> b = "abcde".AsSpan();
bool res = a.SequenceEqual(b);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте сравним с другой строкой "12345":
using System;
class Program
{
static void Main()
{
ReadOnlySpan<char> a = "abcde".AsSpan();
ReadOnlySpan<char> b = "12345".AsSpan();
bool res = a.SequenceEqual(b);
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Пример
Давайте сравним отрезки разной длины:
using System;
class Program
{
static void Main()
{
ReadOnlySpan<char> a = "abcde".AsSpan();
ReadOnlySpan<char> b = "abc".AsSpan();
bool res = a.SequenceEqual(b);
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Смотрите также
-
Contains,
есть ли символ -
IndexOf,
поиск по индексу -
Trim,
обрезка пробелов -
MemoryExtensions,
все расширения