• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#語法學習結構(Struct)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
/*結構體(struct)
 *通常我們會用來封裝小型相關變量
 *例如,點的x,y的坐標.
 * public struct Point
 * {
 *     public int X;
 *     public int Y;
 * }
 * 結構體是一個值類型
 * 結構也可以包含建構函式、常數、欄位、方法、屬性、索引子、運算子、事件和巢狀型別,
 * 雖然如果需要上述數種成員時,您應該考慮讓型別變成類別。
 * 結構可以實作介面,但不能繼承自另一個結構。
 * 因為如此,結構成員無法宣告為 protected。
 * 
 * 結構有下列屬性:
 * 結構為實值型別,而類別則是參考型別。
 * 與類別不同的是,結構不需使用 new 運算子就能執行個體化
 * 結構可以宣告建構函式,但是必須採用參數
 * 結構無法從另一個結構或類別繼承而來,且它不能成為類別的基底。所有結構都是從繼承自 System.Object 的 System.ValueType 直接繼承而來
 * 結構可實作介面
 * 結構可以用來當做可為 Null 的型別,而且可以對其指派 null 值。
 * 
 * 
 * 結構與類別所使用的語法幾乎相同,不過結構的限制比類別多:
 * 結構宣告內不能初始化欄位,除非將其宣告為 const 或 static。
 * 結構不可宣告預設建構函式 (沒有參數的建構函式) 或解構函式。
 * 由於編譯器會自動建立和終結結構的複本,因此不需要預設建構函式和解構函式。
 * 實際上,編譯器會指派其預設值的所有欄位來實作預設建構函式 (請參閱預設值表 (C# 參考))。結構無法繼承自類別或其他結構。
 * 結構為實值型別。當您從結構建立物件並指派給變數時,變數就會包含完整的結構值。當複製包含結構的變數時,就會複製所有資料,而新變數所做的任何修改並不會變更舊變數的資料
 * 。由於結構不會使用參考,因此沒有識別。您無法區別兩個具有相同資料的實值型別執行個體。C# 中的所有實值型別都衍生自 ValueType,該型別則繼承自 Object。
 * 實值型別可由編譯器在稱為 boxing 的處理序中轉換成參考型別。如需詳細資訊,請參閱 Boxing 和 Unboxing (C# 程式設計手冊)。
 * 
 * 

 
*/

using System;
public struct Book
{
    
public int price;
    
public string title;
    
public string author;
}
class Test
{
    
static void Main()
    {
        Book bk
=new Book();
        bk.price
=23;
        bk.title
="書名";
        bk.author
="作者";
        Console.WriteLine(bk.title.ToString() 
+ bk.author.ToString() + bk.price.ToString());
    }
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中的枚举类型(enumtype)发布时间:2022-07-14
下一篇:
C#打开播放器后指定其播放的视频文件的路径代码怎么写啊!发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap