-
-
Notifications
You must be signed in to change notification settings - Fork 771
Expand file tree
/
Copy pathByteArrayExtensions.cs
More file actions
41 lines (37 loc) · 1.29 KB
/
ByteArrayExtensions.cs
File metadata and controls
41 lines (37 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
// ReSharper disable once CheckNamespace
namespace Cake.Core
{
/// <summary>
/// Contains extension methods for <see cref="T:byte[]"/>.
/// </summary>
public static class ByteArrayExtensions
{
/// <summary>
/// Determines if a <see cref="T:byte[]"/> starts with a specified prefix.
/// </summary>
/// <param name="value">The value.</param>
/// <param name="prefix">The prefix to compare.</param>
/// <returns>Whether or not the <see cref="T:byte[]"/> starts with the specified prefix.</returns>
public static bool StartsWith(this byte[] value, byte[] prefix)
{
ArgumentNullException.ThrowIfNull(value);
ArgumentNullException.ThrowIfNull(prefix);
if (value.Length < prefix.Length)
{
return false;
}
for (int i = 0; i < prefix.Length; i++)
{
if (value[i] != prefix[i])
{
return false;
}
}
return true;
}
}
}