Countries.World.Net
1.1.0
dotnet add package Countries.World.Net --version 1.1.0
NuGet\Install-Package Countries.World.Net -Version 1.1.0
<PackageReference Include="Countries.World.Net" Version="1.1.0" />
<PackageVersion Include="Countries.World.Net" Version="1.1.0" />
<PackageReference Include="Countries.World.Net" />
paket add Countries.World.Net --version 1.1.0
#r "nuget: Countries.World.Net, 1.1.0"
#:package Countries.World.Net@1.1.0
#addin nuget:?package=Countries.World.Net&version=1.1.0
#tool nuget:?package=Countries.World.Net&version=1.1.0
Countries.World.Net
Overview
A simple nuget package designed to:
- Retrieve a list of all countries.
- Fetch specific details about a country using its identifier.
Features
Get All Countries:
- Retrieve a read-only list of all available countries, including their names and capitals.
Get Country by ID:
- Fetch detailed information about a specific country using its unique ID.
Custom Exception Handling:
- Throws a
CountryNotFoundExceptionwhen an invalid country ID is queried.
- Throws a
Thread-Safe Initialization:
- Ensures lazy and thread-safe initialization of country data.
Code Example
Here’s how you can use the package to display all countries and details of Afghanistan:
using World.Net;
using World.Net.Helpers;
Console.WriteLine("All Countries:");
var countries = CountryProvider.GetAllCountries();
foreach (var country in countries)
{
Console.WriteLine($"Name: {country.Name}, Capital: {country.Capital}");
}
Console.WriteLine("\nDetails for Afghanistan:");
var afghanistan = CountryProvider.GetCountry(CountryIdentifier.AfghanistanId);
Console.WriteLine($"Official Name: {afghanistan.OfficialName}, Capital: {afghanistan.Capital}");
Contributors
Thanks to the following people who have contributed to this project:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
-
net8.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.
v1.1.0
New Features:
Ability to retrived selected countries based on identifiers
A new method has been added to the CountryProvider class to allow filtering countries by a collection of CountryIdentifier values.
This method returns a list of unique ICountry instances corresponding to the provided country identifiers, removing any duplicates.
var indentifiers = new List<CountryIdentifier>
{
CountryIdentifier.Nigeria,
CountryIdentifier.Brazil
};
var selectedCountries = CountryProvider.GetCountries(indentifiers);
Benefits:
Allows more efficient retrieval of multiple countries based on identifiers.
Handles duplicate identifiers gracefully by returning only distinct countries.
Improves flexibility when working with country data by enabling precise selection.
Breaking Changes:
No breaking changes introduced in this release.
Bug Fixes:
N/A
Deprecations:
N/A