Use Matching to replace NaturalSort

This commit is contained in:
Matt Nadareski
2024-02-29 21:20:44 -05:00
parent 4ed3c45722
commit 17c023efaa
24 changed files with 23 additions and 385 deletions

View File

@@ -1,40 +0,0 @@
using System;
// Ported to SabreTools.Matching. Remove once published.
namespace SabreTools.Core
{
public static class ArrayExtensions
{
/// <summary>
/// Indicates whether the specified array is null or has a length of zero
/// </summary>
public static bool IsNullOrEmpty(this Array? array)
{
return array == null || array.Length == 0;
}
//// <summary>
/// Returns if the first byte array starts with the second array
/// </summary>
public static bool StartsWith(this byte[] arr1, byte[] arr2, bool exact = false)
{
// If we have any invalid inputs, we return false
if (arr1 == null || arr2 == null
|| arr1.Length == 0 || arr2.Length == 0
|| arr2.Length > arr1.Length
|| (exact && arr1.Length != arr2.Length))
{
return false;
}
// Otherwise, loop through and see
for (int i = 0; i < arr2.Length; i++)
{
if (arr1[i] != arr2[i])
return false;
}
return true;
}
}
}

View File

@@ -35,6 +35,7 @@
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="SabreTools.Matching" Version="1.3.1" />
<PackageReference Include="SabreTools.Models" Version="1.3.0" />
</ItemGroup>

View File

@@ -1,6 +1,7 @@
using System;
using System.IO;
using System.Linq;
using SabreTools.Matching;
namespace SabreTools.Core.Tools
{