diff --git a/binding/csharp/IP2Region.Net/IP2Region.Net.csproj b/binding/csharp/IP2Region.Net/IP2Region.Net.csproj index d3f7740..3095148 100644 --- a/binding/csharp/IP2Region.Net/IP2Region.Net.csproj +++ b/binding/csharp/IP2Region.Net/IP2Region.Net.csproj @@ -2,7 +2,7 @@ IP2Region.Net - 2.0.0 + 2.0.1 IP2Region.Net Alan Lee Apache-2.0 @@ -15,10 +15,20 @@ git enable enable - net6.0;netstandard2.1 + netstandard2.0;netstandard2.1;net6.0;net7.0 10.0 + c2f07fe1-a300-4de3-8200-1278ed8cb5b7 + + + + + + + CHANGELOG.md + + diff --git a/binding/csharp/IP2Region.Net/XDB/Searcher.cs b/binding/csharp/IP2Region.Net/XDB/Searcher.cs index d6bcc1d..de29dc9 100644 --- a/binding/csharp/IP2Region.Net/XDB/Searcher.cs +++ b/binding/csharp/IP2Region.Net/XDB/Searcher.cs @@ -42,7 +42,7 @@ public class Searcher : ISearcher { var index = _cacheStrategy.GetVectorIndex(ip); uint sPtr = MemoryMarshal.Read(index.Span); - uint ePtr = MemoryMarshal.Read(index.Span[4..]); + uint ePtr = MemoryMarshal.Read(index.Span.Slice(4)); var dataLen = 0; uint dataPtr = 0; @@ -56,7 +56,7 @@ public class Searcher : ISearcher var buffer = _cacheStrategy.GetData((int)pos, SegmentIndexSize); uint sip = MemoryMarshal.Read(buffer.Span); - uint eip = MemoryMarshal.Read(buffer.Span[4..]); + uint eip = MemoryMarshal.Read(buffer.Span.Slice(4)); if (ip < sip) { @@ -68,8 +68,8 @@ public class Searcher : ISearcher } else { - dataLen = MemoryMarshal.Read(buffer.Span[8..]); - dataPtr = MemoryMarshal.Read(buffer.Span[10..]); + dataLen = MemoryMarshal.Read(buffer.Span.Slice(8)); + dataPtr = MemoryMarshal.Read(buffer.Span.Slice(10)); break; } } @@ -80,6 +80,6 @@ public class Searcher : ISearcher } var regionBuff = _cacheStrategy.GetData((int)dataPtr,dataLen); - return Encoding.UTF8.GetString(regionBuff.Span); + return Encoding.UTF8.GetString(regionBuff.Span.ToArray()); } } \ No newline at end of file