Die Anleitung zu C# Structure
1. Was ist Struct ?
Im C# ist Struct (die Struktur) eine besondere Wert. Er erstellt eine Variable um viele einzelnen aber relativ mit einander Wert zu speichern.
Ein Beispiel: Die Information über ein Arbeitnehmer schließt ein:
- Die Code des Arbeitnehmer
- Der Name des Arbeitnehmer
- Die Funktion
Sie können 3 Variable erstellen um die Information des Arbeitnehmer zu speichern. Aber Sie können ein Struct erstellen um alle 3 oben gemeinten Information in einer einzigen Variable zu speichern.
C# benutzt das Schlüsselwort struct um ein Struct anzumelden
Employee.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpStructureTutorial
{
struct Employee
{
public string empNumber;
public string empName;
public string position;
public Employee(string empNumber, string empName, string position)
{
this.empNumber = empNumber;
this.empName = empName;
this.position = position;
}
}
}
Das Beispiel über die Benutzung von Struct:
EmployeeTest.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpStructureTutorial
{
class EmployeeTest
{
public static void Main(string[] args)
{
Employee john = new Employee("E01","John", "CLERK");
Console.WriteLine("Emp Number: " + john.empNumber);
Console.WriteLine("Emp Name: " + john.empName);
Console.WriteLine("Emp Position: " + john.position);
Console.Read();
}
}
}
Das Beispiel durchführen:
Emp Number: E01
Emp Name: John
Emp Position: CLECK
2. Der Vergleich zwischn Struct und die Klasse
Struct ist normalerweise benutzt für die Erstellung eines Objekt zur Speicherung der Wert, inszwischen werden die Klasse mehr umfangreich verwendet
- Struct darf kein Inheritance haben. Sie kann aus einer Klasse oder ein Struct nicht ausweitern.
- Struct darf die Interface implementieren (implements)
Ein der üblichen Struct im C# ist DateTime. Er bezeichnet das Datum und die Zeit. Sie können das Datum und die Zeit im C# mehr sehen bei ...:
Wenn Struct wie einen Parameter in einer Methode erscheint, wird er als eine Wert übertragen. Indem wenn die Klasse wie einen Parameter in einer Methode erscheint, wird er als Reference übertragen
MyClass.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpStructureTutorial
{
class MyClass
{
public string name = "Abc";
public MyClass(string name)
{
this.name = name;
}
}
}
MyStruct.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpStructureTutorial
{
struct MyStruct
{
public string name;
public MyStruct(string name)
{
this.name = name;
}
}
}
MyTest.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpStructureTutorial
{
class MyTest
{
private static void passToMe(MyClass myClass, MyStruct myStruct)
{
// Die Wert des Feld name ändern.
myClass.name = "New Name";
// Die Wert des Feld name ändern.
myStruct.name = "New Name";
}
public static void Main(string[] args)
{
MyClass myClass = new MyClass("Abc");
MyStruct myStruct = new MyStruct("Abc");
Console.WriteLine("Before pass to method");
Console.WriteLine("myClass.name = " + myClass.name);// Abc
Console.WriteLine("myStruct.name = " + myStruct.name);// Abc
Console.WriteLine("Pass to method");
// 'myStruct', das in der Methode übertragen, ist eine Kopie.
// (Das ist kein originales Objekt).
passToMe(myClass, myStruct);
Console.WriteLine("myClass.name = " + myClass.name); // New Name
Console.WriteLine("myStruct.name = " + myStruct.name);// Abc
Console.Read();
}
}
}
Das Beispiel durchführen
Before pass to method
myClass.name = Abc
myStruct.name = Abc
Pass to method
myClass.name = New Name
myStruct.name = Abc
3. Der Constructor vom Struct
Struct kann die Constructor haben aber hat kein Destructor.
Unten sind einige Beachtung mit dem Constructor:
- Sie können ein Default Constructor (ohne den Paramter) für Struct nicht schreiben.
- Im Constructor sollen Sie die Werte für alle Field der Struct zuweisen
4. Die Methode und das Attribut vom Struct
Struct kann die Methode und Eigenschaften (Property) haben. Und weil Struct kein Inheritance hat, müssen seine Property nicht abstrakt (abstract) sein
Book.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpStructureTutorial
{
struct Book
{
private string title;
private string author;
// Property
public string Title
{
get
{
return this.title;
}
set
{
this.title = value;
}
}
// Property
public string Author
{
get
{
return this.author;
}
}
// Constructor.
public Book(string title, string author)
{
this.title = title;
this.author = author;
}
// Method.
public string GetInfo()
{
return "Book Title: " + this.title + ", Author: " + this.author;
}
}
}
Anleitungen C#
- Vererbung und Polymorphismus in C#
- Was ist erforderlich, um mit C# zu beginnen?
- Schnelles Lernen C# für Anfänger
- Installieren Sie Visual Studio 2013 unter Windows
- Abstrakte Klasse und Schnittstelle in C#
- Installieren Sie Visual Studio 2015 unter Windows
- Kompression und Dekompression in C#
- Die Anleitung zu C# Multithreading Programmierung
- Die Anleitung zu C# Delegate und Event
- Installieren Sie AnkhSVN unter Windows
- C# Programmierung für Team mit Visual Studio und SVN
- Installieren Sie .Net Framework
- Zugriffsmodifikator (Access Modifier) in C#
- Die Anleitung zu C# String und StringBuilder
- Die Anleitung zu C# Property
- Die Anleitung zu C# Enum
- Die Anleitung zu C# Structure
- Die Anleitung zu C# Generics
- Ausnahmen und Ausnahmebehandlung in C#
- Die Anleitung zu C# Date Time
- Manipulieren von Dateien und Verzeichnissen in C#
- Die Anleitung zu C# Stream - binäre Ströme in C#
- Die Anleitung zu C# Reguläre Ausdrücke
- Stellen Sie in C# eine Verbindung zur SQL Server-Datenbank her
- Arbeiten Sie mit der SQL Server-Datenbank in C#
- Stellen Sie in C# eine Verbindung zur MySQL-Datenbank her
- Arbeiten Sie mit der MySQL-Datenbank in C#
- Stellen Sie ohne Oracle Client eine Verbindung zur Oracle-Datenbank in C# her
- Arbeiten Sie mit der Oracle-Datenbank in C#
Show More