電子發(fā)燒友App

硬聲App

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

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

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

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

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

資料介紹

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

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

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

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

  下面我們開始吧。

  1

  LINQ

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

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

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

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

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

  如果使用 LINQ 查詢語法形式:

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

  或者是方法語法形式:

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

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

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

  2

  Struct

  C# 中的結(jié)構(gòu)體類似于類。實際上,一個 struct 甚至可以被認為是一個“輕量級類”,因為它可以包含構(gòu)造函數(shù)、常量、方法等等。一個結(jié)構(gòu)體和一個類之間最大的區(qū)別在于結(jié)構(gòu)是值類型,而類是引用類型。

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

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

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

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1490次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  92次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費
  11. 6基于AT89C2051/4051單片機編程器的實驗
  12. 0.11 MB  |  4次下載  |  免費
  13. 7藍牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
  14. 0.63 MB  |  3次下載  |  免費
  15. 89天練會電子電路識圖
  16. 5.91 MB  |  3次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關(guān)電源設(shè)計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費