最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#很簡(jiǎn)單而又很經(jīng)典的一句代碼實(shí)例

 更新時(shí)間:2019年07月28日 11:51:45   作者:不三周助  
這篇文章主要給大家分享介紹了關(guān)于C#很簡(jiǎn)單而又很經(jīng)典的一句代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一.知識(shí)點(diǎn)


二.問(wèn)題

如果以上四個(gè)問(wèn)題,你很自信,那么以下,您就不要看了,因?yàn)槲蚁胝f(shuō)的東西真的很簡(jiǎn)單。

如果你開(kāi)始懷疑自己,可以繼續(xù)向下看。你自己到底真的理解嗎???

再看下面這段代碼有沒(méi)有問(wèn)題?

class Program
 {
 static void Main(string[] args)
 {
  Transform t = new Transform();
  t.v.x = 1;
  t.ShowV();
  Console.Read();
 }
 }

 struct Vector
 {
 public float x;
 public float y;
 public float z;
 }

 class Transform
 {
 public Vector v { get; set; }
 public void ShowV()
 {
  Console.WriteLine(v.x+"..."+v.y+"..."+v.z);
 }
 }

如果你覺(jué)得沒(méi)有問(wèn)題,那么你需要看看。這時(shí)候會(huì)編譯報(bào)錯(cuò),為啥,怎么回事。

第6行編譯報(bào)錯(cuò):

三.分析

如果你非常清楚屬性的本質(zhì)的話,那么上述代碼可以進(jìn)行轉(zhuǎn)換,將屬性轉(zhuǎn)換為普通方法。(屬性的本質(zhì)就是方法嘛)

class Program
 {
 static void Main(string[] args)
 {
  Transform t = new Transform();
  t.GetVector().x = 1;
  t.ShowV();
  Console.Read();
 }
 }

 struct Vector
 {
 public float x;
 public float y;
 public float z;
 }

 class Transform
 {
 public Vector v;
 //set
 public void SetVector(Vector v)
 {
  this.v = v;
 }
 //get
 public Vector GetVector()
 {
  return v;
 }

 public void ShowV()
 {
  Console.WriteLine(v.x + "..." + v.y + "..." + v.z);
 }
 }

果然上述的改寫只是將屬性的寫法轉(zhuǎn)為本質(zhì)寫法-寫成兩個(gè)普通的方法。結(jié)果還是報(bào)一樣的編譯錯(cuò)誤。

 ,編譯報(bào)錯(cuò)提示還是一樣的CS1612

再修改一下 

Transform t = new Transform();
  // t.GetVector().x = 10; 這邊編譯報(bào)錯(cuò)
  Vector v2 = t.GetVector();
  v2.x = 10;
  t.ShowV();
  Console.Read();

編譯打印結(jié)構(gòu)是 0..0..0。

壓根就沒(méi)變,當(dāng)然沒(méi)有變啊,因?yàn)関2是副本,你更改的只是副本,并沒(méi)有改變t中的v,同理,通過(guò)t.GetVector()也是一個(gè)副本,沒(méi)有意義。所以C#語(yǔ)法在對(duì)于這種情況,幫我們做了一個(gè)處理,如果寫了這樣的代碼,直接給出編譯報(bào)錯(cuò)。C#還是很智能的。就是如果我們錯(cuò)誤的進(jìn)行一個(gè)無(wú)意義的操作,會(huì)直接給出提示。這里給C#語(yǔ)法贊一個(gè)。

四.雜談

這一段代碼雖然好像很簡(jiǎn)單,但是真的藏的很深,樓主工作三年。記得曾經(jīng)有一次去網(wǎng)易二面,被一個(gè)大佬問(wèn)到這個(gè)問(wèn)題,懵逼了,就亂猜吧,一開(kāi)始說(shuō),那個(gè)枚舉值中的x只是get,沒(méi)有set。然后大佬提示我不是的,然后我才誤打誤撞,恍然大悟,是因?yàn)槊杜e值傳遞是副本傳遞,再進(jìn)行賦值操作沒(méi)有意義?,F(xiàn)在想想,能出這個(gè)問(wèn)題的大佬,真的很強(qiáng),一道很簡(jiǎn)單的問(wèn)題,但是考察的東西真的很多很多。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • C#如何使用PaddleOCR進(jìn)行圖片文字識(shí)別功能

    C#如何使用PaddleOCR進(jìn)行圖片文字識(shí)別功能

    PaddlePaddle(飛槳)是百度開(kāi)發(fā)的深度學(xué)習(xí)平臺(tái),旨在為開(kāi)發(fā)者提供全面、靈活的工具集,用于構(gòu)建、訓(xùn)練和部署各種深度學(xué)習(xí)模型,它具有開(kāi)放源代碼、高度靈活性、可擴(kuò)展性和分布式訓(xùn)練等特點(diǎn),這篇文章主要介紹了C#使用PaddleOCR進(jìn)行圖片文字識(shí)別,需要的朋友可以參考下
    2024-04-04
  • 解析abstract與override究竟可不可以同時(shí)使用

    解析abstract與override究竟可不可以同時(shí)使用

    本篇文章是對(duì)abstract與override究竟可不可以同時(shí)使用進(jìn)行了詳細(xì)分析介紹,需要的朋友參考下
    2013-05-05
  • C#獲取進(jìn)程或線程相關(guān)信息的方法

    C#獲取進(jìn)程或線程相關(guān)信息的方法

    這篇文章主要介紹了C#獲取進(jìn)程或線程相關(guān)信息的方法,涉及C#操作進(jìn)程及線程的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本實(shí)例

    C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本,實(shí)例分析了C#基于鏈表實(shí)現(xiàn)的記事本功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C#如何使用DateTime.Now.AddDays方法獲取任一天的信息

    C#如何使用DateTime.Now.AddDays方法獲取任一天的信息

    使用DateTime.Now屬性可以得到當(dāng)前的日期信息,此時(shí)調(diào)用ToString方法,并在該方法中添加指定的格式化字符串,可以按照要求輸出當(dāng)前日期的信息,本文介紹C#使用DateTime.Now.AddDays方法獲取任一天的信息,感興趣的朋友一起看看吧
    2024-01-01
  • C#如何使用XmlDocument訪問(wèn)XML文件

    C#如何使用XmlDocument訪問(wèn)XML文件

    本文介紹了XML文件的特點(diǎn)、用途、格式、示例、解析和處理方式,以及在C#中使用XmlDocument類進(jìn)行增刪改查操作的方法,XML文件是一種靈活的數(shù)據(jù)描述和存儲(chǔ)方式,適用于各種應(yīng)用場(chǎng)景,在C#中,通過(guò)XmlDocument類可以方便地對(duì)XML文件進(jìn)行操作
    2024-12-12
  • 輕松學(xué)習(xí)C#的哈希表

    輕松學(xué)習(xí)C#的哈希表

    輕松學(xué)習(xí)C#的哈希表,對(duì)C#的哈希表感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的哈希表
    2015-11-11
  • C#實(shí)現(xiàn)飛行棋項(xiàng)目

    C#實(shí)現(xiàn)飛行棋項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)飛行棋項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C#?WPF實(shí)現(xiàn)播放音頻文件的示例詳解

    C#?WPF實(shí)現(xiàn)播放音頻文件的示例詳解

    這篇文章主要為大家詳細(xì)介紹了利用C#?WPF實(shí)現(xiàn)播放音頻文件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • c#模擬銀行atm機(jī)示例分享

    c#模擬銀行atm機(jī)示例分享

    這篇文章主要介紹了c#模擬銀行atm機(jī)示例,實(shí)現(xiàn)了用戶登錄、用戶存款、用戶取款等功能,需要的朋友可以參考下
    2014-03-03

最新評(píng)論

凯里市| 张北县| 阳新县| 淮阳县| 广南县| 宜川县| 河北省| 武川县| 崇礼县| 山东省| 都江堰市| 两当县| 澎湖县| 丰镇市| 铁岭市| 紫云| 湄潭县| 分宜县| 富蕴县| 伊川县| 庆元县| 延长县| 大洼县| 平远县| 长治县| 韶关市| 台东市| 大城县| 乌拉特后旗| 工布江达县| 云南省| 安顺市| 西安市| 承德县| 宜春市| 阜城县| 巴林左旗| 修武县| 云浮市| 当雄县| 南汇区|