MemoryExtensions
Методы MemoryExtensions - расширения для
Span и ReadOnlySpan. В коде их
вызывают как span.IndexOf, а не через
имя класса. Достаточно using System.
Синтаксис
int index = span.IndexOf(value);
bool same = span.SequenceEqual(other);
Пример
Давайте найдём символ в строке через IndexOf:
using System;
class Program
{
static void Main()
{
ReadOnlySpan<char> span = "abcde".AsSpan();
int res = span.IndexOf('c');
Console.WriteLine(res);
}
}
Результат выполнения кода:
2
Пример
Давайте проверим наличие символа через Contains:
using System;
class Program
{
static void Main()
{
ReadOnlySpan<char> span = "abcde".AsSpan();
bool res = span.Contains('c');
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте сравним два отрезка через SequenceEqual:
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
Смотрите также
-
IndexOf,
первое вхождение -
Contains,
есть ли элемент -
SequenceEqual,
побайтовое равенство -
Trim,
пробелы по краям