ArraySearch 1.0.0.21

dotnet add package ArraySearch --version 1.0.0.21
                    
NuGet\Install-Package ArraySearch -Version 1.0.0.21
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ArraySearch" Version="1.0.0.21" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ArraySearch" Version="1.0.0.21" />
                    
Directory.Packages.props
<PackageReference Include="ArraySearch" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ArraySearch --version 1.0.0.21
                    
#r "nuget: ArraySearch, 1.0.0.21"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ArraySearch@1.0.0.21
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ArraySearch&version=1.0.0.21
                    
Install as a Cake Addin
#tool nuget:?package=ArraySearch&version=1.0.0.21
                    
Install as a Cake Tool

Build and Publish NuGet Version

Overview

This project is designed to implement various string comparison and normalization algorithms. It includes functionalities such as phonetic encoding, similarity scoring, transliteration detection, and more. The primary focus is on handling names with different linguistic characteristics, including Arabic and Hispanic name patterns.

Features

  • Phonetic Encoding: Implementations of Soundex, Double Metaphone, and custom phonetic algorithms.
  • String Similarity Algorithms: Includes Levenshtein Distance, Jaro-Winkler, and Damerau-Levenshtein similarity calculations.
  • Transliteration Detection: Identifies and processes transliterations in names.
  • Normalization: Handles vowel and consonant pattern normalization for accurate comparisons.
  • Specialized Name Handling: Detects and scores similarities in Arabic and Hispanic names.

Key Functions

  • DoSearch: Searches through an array of strings using a specified search text.
  • GetSoundex / GetDoubleMetaphone: Phonetic encoding functions.
  • ComputeLevenshteinDistance: Computes the Levenshtein distance between two strings.
  • IsTransliterationEquivalent: Checks if two words are equivalent under transliteration rules.
  • CalculateMatchScore: Calculates a match score for a search term against a full name.
  • NormalizeArabicVowels / NormalizeSearchText: Normalizes text for comparison.

Technologies Used

  • Programming Language: C# 13.0
  • Framework Targeting: .NET 9.0

Usage

Using from NuGet

To use this project via NuGet, follow these steps:

  1. Install the package via the NuGet Package Manager in your development environment or by using the following command in the Package Manager Console:

    Install-Package ArraySearch -Version <version-number>
    
  2. Add the namespace to your code:

    using ArraySearch;
    
  3. Instantiate and use the Search class as needed.

Programmatic Usage

To integrate this project into your applications, reference the provided codebase and utilize its classes and methods for string comparison and normalization tasks.

Usage Example

string[] names = { "John Doe", "Jane Smith", "Johann Schmidt" };
string searchText = "John";
var result = search.DoSearch(names, searchText);
Console.WriteLine(result);
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0.21 511 7/25/2025
1.0.0.20 491 7/25/2025
1.0.0 515 7/25/2025