ホームページ バックエンド開発 C#.Net チュートリアル C#学習日記09---データ型構造体型

C#学習日記09---データ型構造体型

Jan 20, 2017 pm 01:37 PM

数値型の構造型 (struct 型):

前の単純な型を学習した後、いくつかの一般的なデータ操作とワードプロセッサを実行しています。これで十分だと思われますが、いくつかの複雑なデータ型に遭遇した場合、たとえば、それぞれ生徒の名前、年齢、電話番号、住所をクラス管理システムに入力する必要があります。先ほど学習した単純なデータ型に従って処理すると、生徒の情報が入力されるたびに 4 つの異なる変数に保存されることになります。これでは作業が膨大になり、直感的ではなく、混乱しやすくなります。

C/C++ で定義された構造体は、関連する情報のセットをまとめ、関連する変数を 1 つのエンティティに編成するために使用されます。上記の例で、学生の情報を入力する場合、「ボックス」(構造体)に名前、年齢、電話番号、住所を入力します。次に、ボックスに「Zhang San's box」などの名前を付けます。Zhang San の情報を表示または変更したい場合は、このボックスを見つけて中のメンバーを呼び出すだけです。 C# は C/C++ の Struct 型を完全に引用するため、使用方法と機能は同じです。

C#定义Struct类型格式:
    访问修饰符 struct  类型名
         {
                           访问修饰副  成员;
         }
ログイン後にコピー

アクセス修飾子については後で詳しく説明し、そのプロパティについて簡単に説明します。C# には、public、private、protected、internal、protected Internal の 5 つのアクセス修飾子があります。このうち public は何の制限もなく共有アクセスとなっています

構造体型のメンバーへの代入や問い合わせ方法はC/C++、構造体の変数名と同じです。 = 値 (上記の Zhang San の例など) 値は次のように割り当てることができます: Zhang San のボックス

私は引き続き上記の例を使用してコードを作成し、2 人の生徒の情報を入力して出力します。 :

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  
  
  
        }  
    }  
}
ログイン後にコピー

出力結果:

C#学習日記09---データ型構造体型 コードを編集するときに、コード構造を明確にするために #region と #enregion を追加しました。その機能は、記述されたコードを縮小することです。構造体タイプには、そのメンバーのタイプに制限はありません。また、内部のメンバーの数に制限はありません。たとえば、性別メンバーを追加することもできます。構造体型を別の構造体型のメンバーとして使用しても問題ありません。 。上記の学生情報の例を引き続き使用して、メンバーの住所を構造タイプに変更します。住所構造には国籍、都道府県、都市、番地が含まれます。

public struct Student  
           {  
            public string name;  
            public uint age;  
            public ulong tel;  
            public string address;  
            public char sex;  
             
           }
ログイン後にコピー

同様に、アドレス構造体のメンバーに値を代入したい場合も同じ方法を使用します

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结构内的成员  
             
           }
ログイン後にコピー

C#学習日記09---データ型構造体型

以上がC#学習日記09の内容です---データ型のStruct型。関連コンテンツの詳細については、PHP Chinese Net (www.php.cn) に注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C# を使用した Active Directory C# を使用した Active Directory Sep 03, 2024 pm 03:33 PM

C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# のアクセス修飾子 C# のアクセス修飾子 Sep 03, 2024 pm 03:24 PM

C# のアクセス修飾子のガイド。 C# のアクセス修飾子の種類について、例と出力とともに説明しました。

C# の乱数ジェネレーター C# の乱数ジェネレーター Sep 03, 2024 pm 03:34 PM

C# の乱数ジェネレーターのガイド。ここでは、乱数ジェネレーターの仕組み、擬似乱数の概念、安全な数値について説明します。

C# データ グリッド ビュー C# データ グリッド ビュー Sep 03, 2024 pm 03:32 PM

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

C# 文字列リーダー C# 文字列リーダー Sep 03, 2024 pm 03:23 PM

C# StringReader のガイド。ここでは、C# StringReader の概要とその動作について、さまざまな例やコードとともに説明します。

C# のパターン C# のパターン Sep 03, 2024 pm 03:33 PM

C# のパターンのガイド。ここでは、C# のパターンの概要と上位 3 種類について、その例とコード実装とともに説明します。

C# シリアル化 C# シリアル化 Sep 03, 2024 pm 03:30 PM

C# シリアル化のガイド。ここでは、C# シリアル化オブジェクトの導入、手順、作業、例についてそれぞれ説明します。

C# 文字列ライター C# 文字列ライター Sep 03, 2024 pm 03:23 PM

C# StringWriter のガイド。ここでは、C# StringWriter クラスの概要とその動作について、さまざまな例やコードとともに説明します。

See all articles