Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ruang nama dalam C#

Ruang nama dalam C#

WBOY
WBOYasal
2024-09-03 15:03:00933semak imbas

Dalam C#, ruang nama digunakan untuk mengatur banyak kelas untuk mengendalikan aplikasi dengan sangat mudah. Ia berguna untuk menyimpan satu set nama berasingan daripada yang lain. Anda tidak boleh bercanggah dengan satu nama kelas yang diisytiharkan dalam satu ruang nama dengan nama kelas yang sama diisytiharkan dalam yang lain. Ia membolehkan menyusun kod secara sistematik dengan sistem hierarki dalam kumpulan. Sistem hierarki boleh digunakan untuk menentukan ruang nama bersarang. Anda boleh menyimpan kod secara teratur dengan meletakkan kod dalam ruang nama yang berbeza.

Ruang nama ialah kawasan deskriptif di mana pengecam (nama jenis, ciri, pembolehubah, dll.) diberikan skop. Ruang nama digunakan untuk menyusun kod ke dalam kumpulan logik dan untuk tidak menggalakkan perlanggaran nama, terutamanya apabila pelbagai perpustakaan disertakan dalam pangkalan kod anda.

Dalam c#, ruang nama akar dianggap sebagai ruang nama global. Global:: Sistem mentakrifkan ruang nama "Sistem" .Net Framework. System.console boleh digunakan dalam program C#. Sistem boleh ditakrifkan sebagai ruang nama, dan Konsol dianggap sebagai kelas. Secara lalai, .NET Framework menyediakan banyak ruang nama untuk melaksanakan aplikasi dengan mudah.

Ikhtisar Ruang Nama

Terdapat beberapa sifat Ruang Nama seperti yang disenaraikan di bawah:

  • Ruang nama digunakan untuk mengatur projek kod yang lebih besar.
  • Ruang nama dihadkan dengan menggunakan pengendali titik (.).
  • Dalam C #, nama penuh kelas bermula dengan nama Ruang Nama diikuti dengan pengendali titik dan nama kelas, yang dipanggil sebagai nama kelas yang layak sepenuhnya.
  • Arahan "menggunakan" menghapuskan keperluan untuk menyatakan nama ruang nama untuk setiap kelas.
  • Dalam satu ruang nama, nama kelas yang diisytiharkan tidak akan bercanggah dengan nama kelas yang sama yang diisytiharkan dalam ruang nama lain.
  • Ruang nama global ialah ruang nama akar, dan global:: Sistem merujuk kepada ruang nama Sistem .NET.

Mengapa kita Memerlukan Ruang Nama dalam C#?

  • Ruang nama dalam program C# membantu mengatur program anda. Ruang Nama ini juga membantu dalam mengelakkan pertembungan antara kelas nama dalam dua set kod.
  • Jika anda ingin menggunakan semula beberapa kod anda, maka amalan yang baik untuk melaksanakan Ruang Nama dalam kod anda sendiri. Nama fail atau direktori tidak sepadan dengan Ruang Nama. Jika ini sepadan dengan Ruang Nama, anda boleh berbuat demikian untuk mengatur kod.
  • Ruang nama memainkan peranan penting dalam menulis kod yang lebih bersih dan mengurus projek yang lebih besar.
  • Tujuan utama menggunakan Namespace dalam c# adalah untuk mengurangkan lebihan kod dalam aplikasi .NET. Secara ringkasnya, Ruang Nama ialah sekumpulan kelas, manakala kelas ialah koleksi objek dan kaedah. Anda boleh mengakses semua kaedah kelas dengan mudah hanya dengan menggunakan ruang nama dan mengimport ruang nama dalam aplikasi. Mempunyai ruang nama membolehkan anda mengurus skop dan kaedah kelas. Jika tiada ruang nama, berbilang kelas dengan nama yang sama tidak boleh digunakan.

Bagaimana untuk menentukan Ruang Nama dalam C#?

Ruang Nama boleh ditakrifkan dengan menggunakan ruang nama kata kunci diikuti dengan nama_ruang nama. Sintaks di bawah menerangkan cara mentakrifkan ruang nama dalam bahasa pengaturcaraan c#:

namespace namespace_name {
// body of namespace
}

Contoh:

namespace my_program_demo
{
class demo
{
public void myfunction()
{
// your code declarations
}
}
}

Dalam coretan kod di atas, my_program_demo ialah ruang nama dan ia termasuk demo kelas sebagai ahlinya dan myfunction() ialah kaedah kelas demo.

Bagaimana untuk Mengakses Ruang Nama dalam C#?

Kelas ruang nama boleh diakses dengan bantuan menggunakan kata kunci, yang menentukan bahawa nama digunakan oleh program dalam ruang nama yang diberikan. Kata kunci ini menyediakan akses kepada kelas dan kaedah yang berkaitan untuk digunakan dalam aplikasi .NET. Kata kunci menggunakan membolehkan menggunakan kelas tanpa perlu menentukan ruang nama.

Dalam c#, anda juga boleh mengakses ahli Namespace dengan menggunakan pengendali titik. (nama_ruang nama. nama_ahli)

Contoh:

using System;
namespace Demo {
class DemoExample {
static void Main(string[] args) {
Console.WriteLine("Welcome to C# namespace...");
Console.ReadKey();
}
}
}

Langkah untuk melaksanakan program:

  • Kompilasi program C# dengan menggunakan baris arahan dan bukannya Visual Studio IDE seperti yang ditunjukkan di bawah:
  • Buka editor teks, masukkan kod di atas dan simpan fail sebagai DemoExample.cs
  • Buka command prompt dan pergi ke direktori tempat fail disimpan.
  • Taip csc DemoExample.cs dan tekan enter untuk menyusun kod.
  • Pergi ke direktori, dan anda akan melihat fail boleh laku DemoExample.exe.
  • Taip DemoExample untuk melaksanakan program dan output akan dipaparkan pada skrin.

Contoh:

menggunakan kata kunci: Contoh di bawah menentukan penggunaan menggunakan kata kunci.

using System;
using first_demo;
using second_demo;
namespace first_demo {
class myclass {
public void func1() {
Console.WriteLine("Helloworld.....");
}
}
}
namespace second_demo {
class myclass1 {
public void func2() {
Console.WriteLine("Welcome to EDUCBA.....");
}
}
}
class DemoClass {
static void Main(string[] args) {
myclass cls = new myclass();
myclass1 cls1 = new myclass1();
cls.func1();
cls1.func2();
Console.ReadKey();
}
}

Kompil dan laksanakan kod di atas, dan anda akan mendapat keputusan seperti yang ditunjukkan dalam imej di bawah.

Ruang Nama Bersarang: Sintaks untuk mencipta ruang nama bersarang adalah seperti berikut

namespace NamespaceDemo
{
namespace NestedNamespace
{
// code for nested namespace
}
}

The below example shows usage of nested namespaces: The members of a nested namespace can be accessed by using dot (.) operator:

using System;
using first_demo;
using first_demo.second_demo;
namespace first_demo {
class myclass {
public void func1() {
Console.WriteLine("Helloworld.....");
}
}
namespace second_demo {
class myclass1 {
public void func2() {
Console.WriteLine("This is example of nested namespace.....");
}
}
}
}
class NestedNamespaceDemo {
static void Main(string[] args) {
myclass cls = new myclass();
myclass1 cls1 = new myclass1();
cls.func1();
cls1.func2();
Console.ReadKey();
}
}

Compile and execute the above code, and you will get the result as shown in the image below:

Conclusion

  • Using namespaces, c# programs are structured and use the directives to promote the use of namespaces. From this document, we can comprehend the need and use of namespaces in classes. Namespaces can also contain other types as their members, such as classes, interfaces, structures, enumerations, and delegates.
  • Namespaces are used as both an inner organizational system for a program and as an external organizational system to present program aspects exposed to other programs. It regulates the scope of methods and classes in bigger projects. Net programming. Namespaces are also used for solving the naming conflict problem.

Atas ialah kandungan terperinci Ruang nama dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Pembolehubah dalam C#Artikel seterusnya:Pembolehubah dalam C#