Namespaces in C#

WBOY
Freigeben: 2024-09-03 15:03:00
Original
920 Leute haben es durchsucht

In C# wird der Namespace zum Organisieren vieler Klassen verwendet, um die Anwendung sehr einfach zu verwalten. Dies ist hilfreich, um eine Reihe von Namen voneinander zu trennen. Es kann kein Konflikt zwischen einem Klassennamen, der in einem Namensraum deklariert ist, und demselben Klassennamen, der in einem anderen Namensraum deklariert ist, bestehen. Es ermöglicht die systematische Organisation des Codes mit einem hierarchischen System in einer Gruppe. Das hierarchische System kann zur Definition verschachtelter Namensräume verwendet werden. Sie können den Code organisiert halten, indem Sie ihn in verschiedenen Namespaces platzieren.

Der Namespace ist ein beschreibender Bereich, innerhalb dessen Bezeichner (Typnamen, Features, Variablen usw.) einen Geltungsbereich erhalten. Namespaces werden verwendet, um Code in logische Gruppen anzuordnen und Namenskollisionen zu verhindern, insbesondere wenn verschiedene Bibliotheken in Ihrer Codebasis enthalten sind.

In c# wird der Root-Namespace als globaler Namespace betrachtet. Das global::System definiert den Namespace „System“ von .Net Framework. Die System.console kann in C#-Programmen verwendet werden. Das System kann als Namespace definiert werden und die Konsole wird als Klasse betrachtet. Standardmäßig stellt .NET Framework zahlreiche Namespaces zur einfachen Implementierung der Anwendungen bereit.

Übersicht über den Namespace

Es gibt einige Eigenschaften von Namespaces, die unten aufgeführt sind:

  • Namespaces werden verwendet, um größere Codeprojekte zu organisieren.
  • Namespaces werden durch den Punkt-Operator (.) getrennt.
  • In C # beginnt der vollständige Name der Klasse mit ihrem Namespace-Namen, gefolgt vom Punktoperator und dem Klassennamen, der als vollständig qualifizierter Name der Klasse bezeichnet wird.
  • Die Direktive „using“ macht die Angabe des Namens des Namespace für jede Klasse überflüssig.
  • In einem Namespace stehen die deklarierten Klassennamen nicht in Konflikt mit denselben Klassennamen, die in einem anderen Namespace deklariert wurden.
  • Der globale Namespace ist der Root-Namespace und global::System bezieht sich auf den .NET-System-Namespace.

Warum brauchen wir Namespaces in C#?

  • Namespaces im C#-Programm helfen bei der Organisation Ihrer Programme. Diese Namespaces helfen auch dabei, einen Konflikt zwischen Namensklassen in den beiden Codesätzen zu vermeiden.
  • Wenn Sie einen Teil Ihres Codes wiederverwenden möchten, empfiehlt es sich, die Namespaces in Ihrem eigenen Code zu implementieren. Die Datei- oder Verzeichnisnamen entsprechen nicht den Namespaces. Wenn diese Namespaces entsprechen, können Sie dies tun, um den Code zu organisieren.
  • Namespaces spielen eine wichtige Rolle beim Schreiben sauberer Codes und beim Verwalten größerer Projekte.
  • Der Hauptzweck der Verwendung von Namespace in c# besteht darin, die Coderedundanz in .NET-Anwendungen zu reduzieren. Um es in einfachen Worten auszudrücken: Namespace ist eine Gruppe von Klassen, während Klassen die Sammlung von Objekten und Methoden sind. Sie können problemlos auf alle Klassenmethoden zugreifen, indem Sie einfach Namespaces verwenden und den Namespace in die Anwendung importieren. Mithilfe von Namespaces können Sie den Umfang und die Methoden der Klasse verwalten. Wenn keine Namespaces vorhanden sind, können nicht mehrere Klassen mit demselben Namen verwendet werden.

Wie definiere ich Namespaces in C#?

Der Namespace kann mithilfe des Schlüsselworts namespace gefolgt vom namespace_name definiert werden. Die folgende Syntax beschreibt, wie ein Namespace in einer C#-Programmiersprache definiert wird:

namespace namespace_name {
// body of namespace
}
Nach dem Login kopieren

Beispiel:

namespace my_program_demo
{
class demo
{
public void myfunction()
{
// your code declarations
}
}
}
Nach dem Login kopieren

Im obigen Codeausschnitt ist my_program_demo ein Namespace und enthält eine Klasse demo als Mitglied und myfunction() ist eine Methode der Demo-Klasse.

Wie greife ich in C# auf Namespaces zu?

Auf die Namespace-Klasse kann mit Hilfe des Schlüsselworts zugegriffen werden, das angibt, dass Namen vom Programm im angegebenen Namespace verwendet werden. Dieses Schlüsselwort bietet Zugriff auf verwandte Klassen und Methoden zur Verwendung in .NET-Anwendungen. Das Schlüsselwort using ermöglicht die Verwendung der Klasse, ohne dass der Namespace definiert werden muss.

In c# können Sie auch über den Punktoperator auf Mitglieder des Namespace zugreifen. (namespace_name. member_name)

Beispiel:

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

Schritte zum Ausführen des Programms:

  • Kompilieren Sie das C#-Programm, indem Sie die Befehlszeile anstelle der Visual Studio-IDE verwenden, wie unten gezeigt:
  • Öffnen Sie einen Texteditor, fügen Sie den obigen Code ein und speichern Sie die Datei als DemoExample.cs
  • Öffnen Sie die Eingabeaufforderung und gehen Sie in das Verzeichnis, in dem die Datei gespeichert ist.
  • Geben Sie csc DemoExample.cs ein und drücken Sie die Eingabetaste, um den Code zu kompilieren.
  • Gehen Sie in das Verzeichnis und Sie sehen die ausführbare Datei DemoExample.exe.
  • Geben Sie DemoExample ein, um das Programm auszuführen, und die Ausgabe wird auf dem Bildschirm angezeigt.

Beispiel:

using keyword: Das folgende Beispiel spezifiziert die Verwendung des using-Schlüsselworts.

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();
}
}
Nach dem Login kopieren

Kompilieren Sie den obigen Code und führen Sie ihn aus. Sie erhalten das Ergebnis wie im Bild unten gezeigt.

Verschachtelte Namespaces: Die Syntax zum Erstellen eines verschachtelten Namespace lautet wie folgt

namespace NamespaceDemo
{
namespace NestedNamespace
{
// code for nested namespace
}
}
Nach dem Login kopieren

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();
}
}
Nach dem Login kopieren

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.

Das obige ist der detaillierte Inhalt vonNamespaces in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage