電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>C語(yǔ)言|源代碼>編程語(yǔ)言特性c語(yǔ)言相比java的優(yōu)勢(shì)

編程語(yǔ)言特性c語(yǔ)言相比java的優(yōu)勢(shì)

2017-09-28 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

  如果我們可以同時(shí)擁有 C#Java 世界的最好特性,那會(huì)是什么樣呢?

  完美的編程語(yǔ)言并不存在,我希望我們可以在這一點(diǎn)上達(dá)成一致。開發(fā)新語(yǔ)言往往是為了克服另一種語(yǔ)言的弊端,又不可避免的在某些方面上健壯一些,卻在另一些方面上存在不足。

  C# 與 Java 都起源于 C/C++ 語(yǔ)言,他們?cè)诿嫦驅(qū)ο蠓矫嬗性S多相似之處。除了 Java JVM 和 C# .NET CLR 有許多相同結(jié)構(gòu)上的相似性之外,他們各自的開發(fā)團(tuán)隊(duì)都有各自的發(fā)展方向,他們關(guān)注的是各自的語(yǔ)言應(yīng)該成為什么樣子。

  我們并不想糾結(jié)于某一個(gè)語(yǔ)言比另一個(gè)語(yǔ)言好,我們只想羅列出 C# 開發(fā)者能用到而 Java 中沒有的那些特性而已。

  下面我們開始吧。

  1

  LINQ

  LINQ (Language-Integrated Query,語(yǔ)言集成查詢) 于 2007 年引入到 C#,以幫助開發(fā)人員從各種數(shù)據(jù)源查詢數(shù)據(jù)。使用它,我們可以在無(wú)需考慮正在調(diào)用的特定數(shù)據(jù)庫(kù)的語(yǔ)法來(lái)編寫查詢語(yǔ)句。LINQ provider 所提供的一個(gè)組件將查詢轉(zhuǎn)換為下層數(shù)據(jù)源可讀的格式。例如,如果我們需要從 SQL 數(shù)據(jù)庫(kù)查詢數(shù)據(jù),LINQ to SQL provider 程序?qū)?LINQ 查詢轉(zhuǎn)換成 T-SQL,以便數(shù)據(jù)庫(kù)可以理解它。

  要在 LINQ 中執(zhí)行查詢操作,首先獲取數(shù)據(jù)庫(kù),然后創(chuàng)建查詢,最后執(zhí)行查詢。在 LINQ to Object 查詢中,這可能僅像一樣代碼一樣簡(jiǎn)單,而不是為每個(gè)循環(huán)編寫嵌套的復(fù)雜迭代。

  例如,我們來(lái)看看這個(gè)代碼,用于在 C# 中從列表中過(guò)濾 2 位數(shù)。

  首先,在不使用 LINQ 的情況下:

  編程語(yǔ)言特性c語(yǔ)言相比java的優(yōu)勢(shì)

  如果使用 LINQ 查詢語(yǔ)法形式:

  編程語(yǔ)言特性c語(yǔ)言相比java的優(yōu)勢(shì)

  或者是方法語(yǔ)法形式:

  編程語(yǔ)言特性c語(yǔ)言相比java的優(yōu)勢(shì)

  這里兩種語(yǔ)法都是正確的,唯一的區(qū)別就是查詢語(yǔ)法看起來(lái)更像是 SQL 語(yǔ)句而方法語(yǔ)法使用 lambda 表達(dá)式(當(dāng)然,看起來(lái)很像我們?cè)?Java 里寫的某些代碼)

  綜述:LINQ 所依賴的許多特性,如 lambda 表達(dá)式(就 LINQ 來(lái)說(shuō)非常有用),已經(jīng)在 Java 中有了等效的實(shí)現(xiàn),盡管我們可以使用流和 lambda 來(lái)查詢數(shù)據(jù),但 LINQ 簡(jiǎn)化了整個(gè)過(guò)程并且移除了很多在 Java 中存在的冗余代碼。

  2

  Struct

  C# 中的結(jié)構(gòu)體類似于類。實(shí)際上,一個(gè) struct 甚至可以被認(rèn)為是一個(gè)“輕量級(jí)類”,因?yàn)樗梢园瑯?gòu)造函數(shù)、常量、方法等等。一個(gè)結(jié)構(gòu)體和一個(gè)類之間最大的區(qū)別在于結(jié)構(gòu)是值類型,而類是引用類型。

  相比于創(chuàng)建類,編寫結(jié)構(gòu)體最重要的好處是在構(gòu)造一個(gè)值類型時(shí)比在構(gòu)造引用類型時(shí)更容易確保值語(yǔ)義。如 Microsoft 的文檔所述,“struct 類型的變量直接包含結(jié)構(gòu)體的數(shù)據(jù),而類類型的變量包含對(duì)數(shù)據(jù)的引用?!币虼?,對(duì)比使用類時(shí),使用結(jié)構(gòu)體的好處之一是,從代碼的其他部分更改其值的唯一方法是將其作為參考進(jìn)行顯式傳遞。

  微軟的開發(fā)人員建議對(duì)于那些小于 16 字節(jié)、生命周期短、不改變的而且不常裝箱的類型,使用結(jié)構(gòu)體(struct)而不是類(class)。在這種情況下,使用結(jié)構(gòu)體可能會(huì)比使用類更有效率,因?yàn)樗鼤?huì)保存在棧而不是堆中。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
  2. 2.96 MB   |  40次下載  |  免費(fèi)
  3. 2Keysight B1500A 半導(dǎo)體器件分析儀用戶手冊(cè)、說(shuō)明書 (中文)
  4. 19.00 MB  |  4次下載  |  免費(fèi)
  5. 3使用TL431設(shè)計(jì)電源
  6. 0.67 MB   |  2次下載  |  免費(fèi)
  7. 4BT134雙向可控硅手冊(cè)
  8. 1.74 MB   |  2次下載  |  1 積分
  9. 5LabVIEW環(huán)形控件
  10. 0.01 MB   |  1次下載  |  1 積分
  11. 6PR735,使用UCC28060的600W交錯(cuò)式PFC轉(zhuǎn)換器
  12. 540.03KB   |  1次下載  |  免費(fèi)
  13. 751單片機(jī)核心板原理圖
  14. 0.12 MB   |  1次下載  |  5 積分
  15. 8BP2879DB支持調(diào)光調(diào)滅的非隔離低 PF LED 驅(qū)動(dòng)器
  16. 1.44 MB  |  1次下載  |  免費(fèi)

本月

  1. 1開關(guān)電源設(shè)計(jì)原理手冊(cè)
  2. 1.83 MB   |  54次下載  |  免費(fèi)
  3. 2使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
  4. 2.96 MB   |  40次下載  |  免費(fèi)
  5. 3FS5080E 5V升壓充電兩串鋰電池充電管理IC中文手冊(cè)
  6. 8.45 MB   |  23次下載  |  免費(fèi)
  7. 4DMT0660數(shù)字萬(wàn)用表產(chǎn)品說(shuō)明書
  8. 0.70 MB   |  13次下載  |  免費(fèi)
  9. 5UC3842/3/4/5電源管理芯片中文手冊(cè)
  10. 1.75 MB   |  12次下載  |  免費(fèi)
  11. 6ST7789V2單芯片控制器/驅(qū)動(dòng)器英文手冊(cè)
  12. 3.07 MB   |  11次下載  |  1 積分
  13. 7TPS54202H降壓轉(zhuǎn)換器評(píng)估模塊用戶指南
  14. 1.02MB   |  8次下載  |  免費(fèi)
  15. 8STM32F101x8/STM32F101xB手冊(cè)
  16. 1.69 MB   |  8次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935119次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73807次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65987次下載  |  10 積分