حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

آموزش استفاده از لیست کشورها و استان ها در سی شارپ

اگر قصد نوشتن برنامه ای به زبان سی شارپ (یا VB.NET) رو دارید و در اون برنامه نیاز به لیست کشور ها و استان های هر کشور دارید، معمولاً باید لیست مورد نظر رو از جایی دانلود کنید و داخل بانک برنامه اضافه کنید یا اینکه از یک API برای گرفتن لیست کشورها و استان های هر کشور استفاده کنید. نکته ای که وجود داره این لیست به ندرت تغییر می کنه و معمولاً یک لیست از آیتم های ثابت هست.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید

در این مطلب قصد داریم پکیجی رو معرفی کنیم که لیستی از کشور ها و استان های هر کشور رو به صورت آفلاین در اختیار شما میزاره. این پکیج CountryData نام داره و می تونید بوسیله NuGet اون رو به پروژه هاتون اضافه کنید. در قدم اول بوسیله دستور زیر این پکیج رو پروژمون اضافه می کنیم:

Install-Package CountryData.Standard

برای استفاده از این پکیج ابتدا یک شئ از روی کلاس CountryHelper ایجاد می کنیم:

var helper = new CountryHelper();

برای گرفتن لیست کشور ها از دستور زیر استفاده می کنیم:

foreach (var country in helper.GetCountries())
{
    Console.WriteLine(country);
}

در این پکیج هر کشور یک کد معادل داره که به صورت زیر می تونیم لیست کشورها به همراه کدهای مربوط به اون رو بدست بیاریم:

foreach (var country in helper.GetCountryData())
{
    Console.WriteLine(country.CountryName + $"({country.CountryShortCode})");
}

مورد بعدی گرفتن لیست استان ها یه Region های هر کشور هست، برای گرفتن لیست استان ها از متد GetRegionByCountryCode استفاده می کنیم. برای گرفتن لیست  استان ها باید کد کشور رو به این متد ارسال کنیم:

var regions = helper.GetRegionByCountryCode("IR");

foreach (var region in regions)
{
    Console.WriteLine(region.Name);
}

بخشی از خروجی دستور بالا به صورت زیر هست:

.
.
.
Bushehr
Chahar Mahal va Bakhtiari
Esfahan
Fars
Gilan
Golestan
Hamadan
Hormozgan
Ilam
Kerman
Kermanshah
Khorasan-e Jonubi
Khorasan-e Razavi
Khorasan-e Shomali
Khuzestan
Kohgiluyeh va Bowyer Ahmad
Kordestan
Lorestan
.
.
.

موضوعی که باید به اون دقت کنید این هست که این لیست فقط در قالب کاراکترهای انگلیسی هست، شما برای اینکه اسامی به صورت فارسی نمایش داده بشه می تونید عبارت ها رو داخل پروژه Localize کنید. بری دسترسی به سورس این پکیج می تونید به این آدرس مراجعه کنید.


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات