Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Lerntagebuch 09 --- Datentyp-Strukturtyp

C#-Lerntagebuch 09 --- Datentyp-Strukturtyp

黄舟
黄舟Original
2017-01-20 13:37:011722Durchsuche

Strukturtyp des numerischen Typs (Strukturtyp):

Nachdem wir die vorherigen einfachen Typen studiert haben, führen wir einige allgemeine Datenoperationen und Textverarbeitungen durch, was ausreichend zu sein scheint, aber wenn wir auf einige stoßen Für komplex Datentypen, zum Beispiel der Name, das Alter, die Telefonnummer und die Adresse jedes Schülers, müssen in das Klassenverwaltungssystem eingegeben werden. Wenn wir es gemäß den einfachen Datentypen handhaben, die wir zuvor gelernt haben, werden die Informationen eines Schülers jedes Mal, wenn sie eingegeben werden, in 4 verschiedenen Variablen gespeichert. Dies verursacht zu viel Arbeit, ist nicht intuitiv und kann leicht verwechselt werden.

Die in C/C++ definierte Strukturstruktur wird verwendet, um eine Reihe zusammengehöriger Informationen zusammenzustellen und zugehörige Variablen in einer einzigen Entität zu organisieren. Nehmen Sie das obige Beispiel als Analogie. Wenn ich die Informationen eines Studenten eingebe, kann ich seinen Namen, sein Alter, seine Telefonnummer und seine Adresse in das „Feld“ (Struktur) eingeben Geben Sie der Box dann einen Namen, z. B. „Zhang Sans Box“. Wenn Sie die Informationen von Zhang San anzeigen oder ändern möchten, müssen Sie nur diese Box finden und die darin enthaltenen Mitglieder anrufen.

C# verweist vollständig auf den Strukturtyp in C/C++, sodass seine Verwendung und Funktionen gleich sind.

C#定义Struct类型格式:
    访问修饰符 struct  类型名
         {
                           访问修饰副  成员;
         }

Ich werde die Zugriffsmodifikatoren später im Detail untersuchen und kurz auf ihre Eigenschaften eingehen. C# verfügt über fünf Zugriffsmodifikatoren: öffentlich, privat, geschützt, intern und geschützt intern. Unter diesen unterliegt public keinen Einschränkungen und hat gemeinsamen Zugriff. Derzeit verwenden wir alle public.

, um Mitgliedern im Strukturtyp Werte zuzuweisen, und die Abfragemethode ist dieselbe wie bei C/. C++, Strukturvariablenname = Wert, wie oben. Im Beispiel von Zhang San kann der Wert wie folgt zugewiesen werden: Zhang San's Box

Ich verwende immer noch das obige Beispiel zum Schreiben Geben Sie einen Code ein, geben Sie die Informationen von 2 Schülern ein und geben Sie ihn aus:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Example  
{   
    class Program  
    {  
       public struct Student  
            {  
             public string name;  
             public uint age;  
             public ulong tel;  
             public string address;  
              
            }  
         
        static void Main(string[] args)  
        {  
            Student Firstperson, Secperson;  //定义两个Student 类型的变量也就是申请2个‘箱子’并取了名字  
            #region        录入第一个学生信息  
  
            Console.WriteLine("\t(第一个学生信息)");  
            Console.WriteLine("输入姓名:");  
            Firstperson.name = Console.ReadLine();  
            Console.WriteLine("输入年龄:");  
            Firstperson.age = uint.Parse(Console.ReadLine()); //强制类型转换  将String 类型转换为uint   
            Console.WriteLine("输入电话号码:");  
            Firstperson.tel = ulong.Parse(Console.ReadLine());  
            Console.WriteLine("请输入地址:");  
            Firstperson.address = Console.ReadLine();  
            #endregion  
 
            #region 录入第二个学生信息  
            Console.WriteLine("\t(第二个学生信息)");  
            Console.WriteLine("输入姓名:");  
            Secperson.name = Console.ReadLine();  
            Console.WriteLine("输入年龄:");  
            Secperson.age = uint.Parse(Console.ReadLine());   
            Console.WriteLine("输入电话号码:");  
            Secperson.tel = ulong.Parse(Console.ReadLine());  //强制类型转换  将String 类型转换为ulong类型   
            Console.WriteLine("请输入地址:");  
            Secperson.address = Console.ReadLine();  
            #endregion  
 
            #region  输出这两个学生的信息  
            Console.WriteLine("1.姓名:{0}\t年龄:{1}\t电话:{2}\t地址:{3}",Firstperson.name,Firstperson.age,Firstperson.tel,Firstperson.address);  
            Console.WriteLine("2.姓名:{0}\t年龄:{1}\t电话:{2}\t地址:{3}", Secperson.name, Secperson.age, Secperson.tel, Secperson.address);  
 
            #endregion  
  
  
        }  
    }  
}

Ausgabeergebnis:

C#-Lerntagebuch 09 --- Datentyp-Strukturtyp

Beim Bearbeiten des Codes, um ihn zu erstellen Um die Codestruktur klarer zu gestalten, habe ich #region und #enregion hinzugefügt, um den geschriebenen Code zu verkleinern:

C#-Lerntagebuch 09 --- Datentyp-Strukturtyp

Der Strukturtyp unterliegt keinen Einschränkungen hinsichtlich seiner Mitgliedstypen Die darin enthaltenen Typen können gleich oder unterschiedlich sein, und die Anzahl der darin enthaltenen Mitglieder ist unbegrenzt. Beispielsweise können wir auch das Geschlecht des Mitglieds char sex hinzufügen.

public struct Student  
           {  
            public string name;  
            public uint age;  
            public ulong tel;  
            public string address;  
            public char sex;  
             
           }

Wir können sogar die Struktur verwenden Typ als Mitglied eines anderen Strukturtyps, was kein Problem darstellt. . Unter Verwendung des obigen Beispiels für Studenteninformationen ändern wir die Mitgliedsadresse in einen Strukturtyp, wobei die Adressstruktur Nationalität, Provinz, Stadt und Straße enthält.

class Program  
   {  
      public struct Student  
           {  
            public string name;  
            public uint age;  
            public ulong tel;  
         public struct address  
            {  
            public string nationality;  
            public string 省份;   // 变量名可以用汉字  
            public string 市;  
            public string street;  
              
             }  
            public char sex;  
  
            public address Ad;  //声明 一个 address类型变量Ad 外部函数通过访问Ad才能访问 address结构内的成员  
             
           }

Wenn Sie Mitgliedern in der Adressstruktur Werte zuweisen möchten, verwenden Sie in ähnlicher Weise dieselbe Methode

  Firstperson.Ad.市 = Console.ReadLine();  //  Firstperson.Ad.市 = "成都";都是可以的。


Das Obige ist C#-Lerntagebuch 09---Datentyp Inhalt vom Strukturtyp (Struct). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
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