C# 結構體

目錄

?1.如何定義一個結構體(struct 關鍵字)

2.如何使用一個結構體?

3.如何修改一個數據

4.如何讓去訪問一個學生的信息

5、結構體數組

練習


?1.如何定義一個結構體(struct 關鍵字)

C#中public 、private、protect的區別

結構體 : 作用就是把某一類的變量進行整合 ?組成一個新的數據類型,相當于一個全新的信息 ? 比如學生信息(包含年齡,姓名,身高,學號等信息);

 //struct 聲明結構的關鍵字private struct Studen   //Studen  結構體的名字(類型){//結構體內部  定義數據  定義學生相關的信息// 想要收集的數據 都可以在此處定義// 字段public string name;public int age;public double heigth;public int id;//結構體中的函數//方法public void Show(){Console.WriteLine($"{name} {age} {heigth} {id}");}}

2.如何使用一個結構體?

//第一個學生
Studen stu = new Studen();  //使用結構體聲明一個變量  這個變量就代表結構體
//通過變量去操作結構體 進行數據儲存
stu.name = "張三";
stu.age = 18;
stu.heigth = 1.75;
stu.id = 123456;// 第二個學生
Studen stu1 = new Studen();
stu1.name = "李四";
stu1.age = 20;
stu1.heigth = 1.80;
stu1.id = 000000;

3.如何修改一個數據

stu.id = 888888;

4.如何讓去訪問一個學生的信息

// 結構體 數據與數據之間是相互隔離的 不會相互影響
Console.WriteLine(stu.id);
Console.WriteLine(stu1.id);

5、結構體數組

 //如果有一組數據   使用數組  結構體數據Studen[] stus = new Studen[2];stus[0].name = "王五";stus[0].age = 21;stus[0].heigth = 1.78;stus[0].id = 111111;stus[1].name = "趙六";stus[1].age = 19;stus[1].heigth = 1.65;stus[1].id = 123111;stus[0].Show();stus[1].Show();

練習:

有一個三維坐標系,給出x,y,z,計算正方體體積

static void Main(string[] args)
{//使用結構體內的方法賦值Position ps = new Position(3.15,2.6,2);//直接賦值//ps.x = 3.15;//ps.y = 2.6;//ps.z = 2;ps.Point();
}// 定義一個表示三維坐標的結構體
// x y z
struct Position
{//結構體中的字段public double x;public double y;public double z;//結構體中的構造函數//實例化調用//初始化賦值 數據public Position(double x,double y,double z) //和類的名字Position必須相同{//this 指的是Position類結構體,等號前面指的是方法外層的x,y,z,等號后面是方法里的參數x,y,zthis.x = x;this.y = y;this.z = z;}public void Point(){Console.WriteLine(x*y*z);}
}

注:在C# 結構體代碼中,`Position` 有兩種含義,需要結合上下文來理解:

1. **結構體名稱**:`struct Position` 中的 `Position` 是這個結構體的名稱,它定義了一個新的自定義類型,用于表示三維坐標(包含 x、y、z 三個屬性)。

2. **構造函數**:`public Position(double x, double y, double z)` 中的 `Position` 是這個結構體的構造函數。構造函數是一種特殊的方法,它的名稱必須與結構體(或類)的名稱完全一致,用于在創建結構體實例時初始化其成員變量。

當你使用 `new Position(1, 2, 3)` 創建結構體實例時,就是在調用這個與結構體同名的構造函數,它會接收三個參數并為 x、y、z 賦值。 簡單來說,在這個結構體中,`Position` 既是類型本身的名稱,也是用于初始化該類型實例的構造函數的名稱,這是 C# 中類型定義的標準語法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92371.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92371.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92371.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Python中操作Word

生成請假條1.準備一個文件“template.docx”,內容如下。2.安裝docxtpl庫。pip install docxtpl3.執行代碼,替換字典內容。from docxtpl import DocxTemplate# 讀取定義模板文件 tpl DocxTemplate(template.docx) # 創建子文檔 sd tpl.new_subdoc() # 添…

網絡協議(四)網絡層 路由協議

在網絡層及網絡層之上使用IP地址,IP地址放在IP數據報的首部,而MAC地址放在MAC幀的首部。通過數據封裝,把IP數據報分組封裝為MAC幀。 由于路由器的隔離,IP網絡中無法通過廣播MAC地址來完成跨網絡的尋址,因此在網絡層中只…

(后者可以節約內存/GPU顯存)Pytorch中求逆torch.inverse和解線性方程組torch.linalg.solve有什么關系

假設我們要求A的逆矩陣,正常情況下我們使用如下命令: torch.inverse(A)但是本人發現,這個函數還挺消耗顯存的。想到求逆矩陣和求線性方程組有很大關系。從而可以使用torch.linalg.solve來求解逆矩陣,關鍵是其顯存消耗小。 求解逆矩…

esp32 idf 使用http訪問json直接拼接content_length = -1

CMakeLists.txt添加網絡請求庫 REQUIRES esp_http_client效果圖D (14235) HTTP_CLIENT: content_length -1 需要直接拼接content_length才能打印#include <stdio.h> #include <string.h> #include "esp_log.h" #include "esp_system.h" #inc…

[Github】下載使用github上的源代碼

一、安裝Anoconda 二、安裝 Git &#xff08;1&#xff09;安裝 方法 1&#xff1a;通過 Git 官網安裝? 下載 Git for Windows&#xff1a;https://git-scm.com/download/win運行安裝程序&#xff0c;??確保勾選 "Add Git to PATH"??&#xff08;重要&#…

Java 邂逅 WebSocket:解鎖實時通信的無限可能?

在當今的互聯網時代&#xff0c;實時通信已經成為許多應用不可或缺的功能。從在線聊天工具到實時游戲互動&#xff0c;從股票行情推送再到物聯網數據傳輸&#xff0c;都對實時性有著極高的要求。而在 Java 技術棧中&#xff0c;WebSocket 技術的出現&#xff0c;為開發者打開了…

MySQL 核心知識點梳理(5)

目錄 事務 MySQL事務的四大特性 ACID 原子性 持久性 隔離性 事務的隔離級別 讀未提交 讀已提交 可重復讀 串行化 事務的隔離級別如何實現 MVCC 版本鏈 READVIEW 高可用 MySQL數據庫的讀寫分離 主從復制 主從同步延遲怎么處理 分庫策略 水平分庫分表的策略…

借助AI學習開源代碼git0.7之六write-tree

借助AI學習開源代碼git0.7之六write-tree write-tree.c 的作用是根據當前的索引&#xff08;cache&#xff09;內容創建一個樹&#xff08;tree&#xff09;對象&#xff0c;并將其寫入Git的對象數據庫。 樹對象代表了項目在某個時間點的目錄結構。 代碼的主要邏輯&#xff1a;…

開源 python 應用 開發(八)圖片比對

最近有個項目需要做視覺自動化處理的工具&#xff0c;最后選用的軟件為python&#xff0c;剛好這個機會進行系統學習。短時間學習&#xff0c;需要快速開發&#xff0c;所以記錄要點步驟&#xff0c;防止忘記。 鏈接&#xff1a; 開源 python 應用 開發&#xff08;一&#xf…

SeaTunnel 云倉連接器使用指南 | AI 助手解讀系列

最近體驗了一下 Deepwiki 的 AI 文檔生成功能&#xff0c;本文展示其自動生成的《SeaTunnel 云端數據倉庫連接器》文檔內容&#xff0c;歡迎大家一起“挑刺捉蟲”&#xff0c;看看 AI 寫技術文檔到底靠不靠譜&#xff1f; 本文檔介紹了 Apache SeaTunnel 的云數據倉庫連接器&a…

每日算法刷題Day51:7.21:leetcode 棧6道題,用時1h40min

二.進階 1.套路 2.題目描述 1.給你一個字符串 s 。它可能包含任意數量的 * 字符。你的任務是刪除所有的 * 字符。 當字符串還存在至少一個 * 字符時&#xff0c;你可以執行以下操作&#xff1a; 刪除最左邊的 * 字符&#xff0c;同時刪除該星號字符左邊一個字典序 最小的字…

網絡基礎DAY16-MSTP-VRRP

STP/RSTP的局限性1.所有VLAN共享一棵生成樹 2.無法實現不同VLAN在多條Trunk鏈路上的負載分擔 3.次優化二層路徑。MSTP的基本概念及優勢MSTP的定義MST域擁有相同MST配置標識的網橋構成的集合。 具體如何分辨是否是同一個域&#xff0c;就看域名&#xff0c;配置修訂號&#xff0…

freertos關鍵函數理解 uxListRemove

//刪除pxItemToRemove節點 UBaseType_t uxListRemove(ListItem_t *pxItemToRemove) { //The list item knows which list it is in. Obtain the list from the list item.//找到節點所在的鏈表//my_printf( "uxListRemove pxItemToRemove %#p\n", pxI…

C語言---番外篇(柔性數組)

前言&#xff1a; 由于這塊內容所謂綜合性比較高&#xff0c;有數組的知識&#xff0c;有結構體的知識&#xff0c;還有動態內存管理的知識&#xff0c;所以我就單獨寫一篇博客&#xff0c;此謂番外篇。 柔性數組的概念 定義在結構體的最后一個元素的位置且大小未知的數組就叫…

單片機的幾種GPIO輸入輸出模型詳解

模式選擇匯總參考表&#xff1a;模式輸出驅動輸入阻抗默認狀態典型應用場景推挽輸出強驅動禁用可配置LED, SPI, 高速信號開漏輸出弱驅動禁用低/懸空IC, 電平轉換, 線與浮空輸入禁用極高不確定外部強驅動信號上拉輸入禁用中高高電平按鍵(接地型), 數字輸入下拉輸入禁用中高低電平…

深度解析ECharts.js:構建現代化數據可視化的利器

引言&#xff1a;數據可視化的新時代挑戰 在數字化轉型浪潮中&#xff0c;數據可視化已成為企業決策和用戶體驗的關鍵環節。面對海量數據的呈現需求&#xff0c;傳統表格已無法滿足用戶對直觀洞察的渴求。作為百度開源的JavaScript可視化庫&#xff0c;ECharts.js憑借其強大的功…

從零構建實時通信引擎:Freeswitch源碼編譯與深度優化指南

一、構建工具&#xff1a;編譯FreeSWITCH及其依賴庫的基礎 1. CMake2. Autoconf 二、匯編器&#xff1a;提升音視頻處理性能 3. YASM / NASM 三、音視頻編解碼器&#xff1a;支撐實時媒體傳輸 4. Opus5. x264 (可選)6. libvpx / libvpx2 (可選) 四、多媒體框架與工具庫&#xf…

網絡原理 HTTP 和 HTTPS

目錄 一 . HTTP 協議 二 . 抓包 三 . HTTP 請求 / 響應的基本格式 &#xff08;1&#xff09;HTTP請求的基本格式 &#xff08;2&#xff09;HTTP響應的基本格式 四 . HTTP 方法 GET 和 POST 的區別&#xff1a; 五 . 請求報頭和響應報頭 &#xff08;1&#…

基于單片機的自動條幅懸掛機

摘 要 隨著日新月異科技發展&#xff0c;在心率體溫測量方面&#xff0c;我們取得了迅速的發展&#xff0c;就近日而言&#xff0c;脈搏測量儀已經在多個領域大展身手&#xff0c;除了在醫學領域有所建樹&#xff0c;在人們的日常生活方面的應用也不斷拓展&#xff0c;如檢疫…

《C++》面向對象編程--類(中)

文章目錄一、構造函數1.1定義1.2語法1.3特性二、析構函數2.1定義2.2語法2.3特性三、拷貝構造函數3.1定義3.2語法3.3特性3.4淺拷貝3.4.1定義3.4.2淺拷貝的風險3.5深拷貝一、構造函數 1.1定義 在C中&#xff0c;構造函數&#xff08;Constructor&#xff09; 是一種特殊的成員函…