Heim Backend-Entwicklung C#.Net-Tutorial SUNWEN-Tutorial – C# Advanced (7)

SUNWEN-Tutorial – C# Advanced (7)

Dec 19, 2016 am 10:23 AM

Wovon ich spreche, ist die Struktur (Struktur) in C#. Beachten Sie, dass sich die Struktur, über die ich hier spreche, nicht auf die Sprachstruktur von C# bezieht Klasse. Im Folgenden werde ich über diese Struktur sprechen.

Das folgende Beispiel beschreibt, wie man eine Struktur mit Attributen, Methoden und einem Feld erstellt und wie man sie verwendet.

000 : // Structsstruct1.cs
001: using System;
002: struct SimpleStruct
003: {
004: PRivate int xval;
005: public int X
006 : {
007: get {
008: return xval;
009: }
010: set {
011: if (value < 100)
012: xval = value ;
013: }
014: }
015: public void DisplayX()
016: {
017: Console.WriteLine("Der gespeicherte Wert ist: {0}", xval );
018: }
019: }
020:
021: Klasse TestClass
022: {
023: public static void Main()
024: {
025: SimpleStruct ss = new SimpleStruct();
026: ss Die Ausgabe dieses Beispiels ist:

Der gespeicherte Wert ist: 5
Aus dem obigen Beispiel können wir sehen, dass Strukturen Und Klassen scheinen tatsächlich gleich zu sein. Wenn Sie Klassen zum Umschreiben dieses Programms verwenden, ist das Ergebnis jedoch offensichtlich, dass zwei identische Dinge nicht zusammen auftreten können Die Klasse ist vom Referenztyp. Auf diese Weise können Sie die Struktur verwenden, um Objekte wie integrierte Typen zu erstellen. Wenn Sie ein neues Schlüsselwort verwenden, um eine Instanz einer Klasse zu erstellen, wird diese zugewiesen Der Heap wird verwendet, um eine Instanz einer Klasse zu erstellen. Wenn eine Instanz einer Struktur zugewiesen wird, wird sie unsere Leistung erheblich verbessern (wie M$ sagte). Nochmals folgendes Beispiel:

000: // Structsstruct2.cs

001: using System;
002:

003: class TheClass

004: {

005: public int x;

006: }
007:
008: struct TheStruct
009: {
010: public int x;
011: }
012:
013: Klasse TestClass
014: {
015: public static void structtaker(TheStruct s)
016: {
017: s.x = 5;
018: }
019: public static void classtaker(TheClass c)
020: {
021: c.x = 5;
022: }
023: public static void Main()
024: {
025: TheStruct a = new TheStruct();
026: TheClass b = new TheClass();
027: a.x = 1;
028: b.x = 1;
029: structtaker(a );
030: classtaker(b);
031: Console.WriteLine("a.x = {0}", a.x);
032: Console.WriteLine("b.x = {0}", b.x );
033: }
034 : }

Die Ausgabe dieses Beispiels ist:

a.x = 1b.x = 5
Wie aus diesem Beispiel ersichtlich ist , wenn eine Struktur an eine Methode übergeben wird, wird sie nur als Kopie übergeben, und wenn eine Klasse übergeben wird, wird ihr eine Referenz übergeben, also gibt a.x= unverändert 1 aus, aber b.x hat sich geändert Der andere Unterschied ist die Struktur. Sie können ohne new instanziieren, aber Klassen tun dies. Wenn Sie eine Struktur ohne new instanziieren, bleiben alle Felder nicht zugewiesen. Wie Klassen können Strukturen Schnittstellen implementieren haben keine Vererbung. Eine Struktur kann nicht von anderen Klassen erben und kann auch nicht die Basisklasse anderer Klassen sein.

Beispiel 3:

interface IImage

{

void Paint( );
}

struct Picture : IImage

{

public void Paint()

{

// Malcode kommt hier
}
private int x, y, z; // andere Strukturmitglieder
}

Das Obige ist der Inhalt des SUNWEN-Tutorials – C# Advanced (7), bitte beachten Sie weitere verwandte Inhalte der chinesischen PHP-Website (www.php .cn)!




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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

Zugriffsmodifikatoren in C# Zugriffsmodifikatoren in C# Sep 03, 2024 pm 03:24 PM

Leitfaden zu den Zugriffsmodifikatoren in C#. Wir haben die Einführungstypen von Zugriffsmodifikatoren in C# zusammen mit Beispielen und Ausgaben besprochen.

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

C#-Serialisierung C#-Serialisierung Sep 03, 2024 pm 03:30 PM

Leitfaden zur C#-Serialisierung. Hier besprechen wir die Einführung, die Schritte des C#-Serialisierungsobjekts, die Funktionsweise bzw. das Beispiel.

C# StringWriter C# StringWriter Sep 03, 2024 pm 03:23 PM

Leitfaden für C# StringWriter. Hier besprechen wir einen kurzen Überblick über die C#-StringWriter-Klasse und ihre Funktionsweise zusammen mit verschiedenen Beispielen und Codes.

Webdienste in C# Webdienste in C# Sep 03, 2024 pm 03:32 PM

Leitfaden zu Webdiensten in C#. Hier besprechen wir eine Einführung in Webdienste in C# mit Technologienutzung, Einschränkungen und Beispielen.

See all articles