亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

適合開發桌面軟件的編程語言有哪些

發布時間:2020-08-05 10:27:59 來源:億速云 閱讀:1282 作者:Leah 欄目:互聯網科技

這期內容當中小編將會給大家帶來有關適合開發桌面軟件的編程語言有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

適合開發桌面軟件的編程語言是C#,C#是微軟公司發布的一種由C和C++衍生出來的面向對象的編程語言,運行于“.NET Framework”和“.NET Core”之上的語言,并且具有強大的操作能力、優雅的語法風格和創新的語言特性。

C# 語言結構

類:一個基本的C#類中包含數據成員、屬性、構造器和方法。屬性可以是靜態或實例成員。在C#中類的聲明與C++和Java很相似。但是,不像C++,C#結構體與類是不支持繼承多個父類。但是,與Java相同的是,一個結構體可以實現接口(interface)。Java的關鍵字import已經被替換成using,它起到了同樣的作用。

類可以是抽象的和不可繼承的:一個被申明成abstract的類不能被實例化,它只能被用做一個基類,C#關鍵字lock就像Java關鍵字final,它申明一個類不是抽象的,但是它也不能被用做另一個類的基類接口:就象在Java中一樣,一個接口是一組方法集合的抽象定義。當一個類或結構體實現一個接口的時候,它必須實現這個接口中定義的所有方法。一個單一的類可以實現幾個接口,也許以后會出現一些微妙的差別,但是這個特點看起來與Java相比沒有變化。

布爾運算:條件表達式的結果是布爾數據類型,布爾數據類型是這種語言中獨立的一種數據類型,從布爾類型到其他類型沒有直接的轉換過程,布爾常量true和false是C#中的關鍵字。錯誤處理:如Java中那樣,通過拋出和捕捉異常對象來管理錯誤處理過程。

內存管理:由底層.NET框架進行自動內存垃圾回收。

接口:是其他類型為確保它們支持某些操作而實現的引用類型。接口從不直接創建而且沒有實際的表示形式,其他類型必須轉換為接口類型。

一個接口定義一個協定。實現接口的類或結構必須遵守其協定。接口可以包含方法、屬性、索引器和事件作為成員。

強類型:C#是一個強類型的語言,它的數值類型有一些可以進行隱式轉換,其他的必須顯式轉換,隱式轉換的類型只能是長度短的類型轉換成長的類型,int可以轉換成long、float、double、decimal,反之必須顯式的轉換。

編譯:程序直接編譯成標準的二進制可執行形式.但C#的源程序并不是被編譯成二進制可執行形式,而是一種中間語言(IL),類似于JAVA字節碼。如果前面的Hello World程序被保存成一個

文本文件并被命名為Hello.cs,它將被編譯成命名Hello.exe的可執行程序。

C#程序不能直接編譯成標準的二進制可執行形式,與 Java 類似,它被編譯成為中間代碼(Microsoft Intermediate Language),然后通過 .NET Framework 的虛擬機——被稱之為通用語言執行層(Common Language Runtime, CLR)——執行。

一個C#的結構體與C++的結構體是相似的,因為它能夠包含數據聲明和方法.但是,不象C++,C#結構體與類是不同的而且不支持繼承.但是,與Java相同的是,一個結構體可以實現接口。

預編譯:C# 中存在預編譯指令支持條件編譯,警告,錯誤報告和編譯行控制.可用的預編譯指令有:#define,#undef,#if,#elif,#else,#endif,#warning,#error,#line。

沒有了#include偽指令,無法再用#define 語句對符號賦值,所以就不存在源代碼替換的概念--這些符號只能用在#if和#elif偽指令里.在#line偽指令里的數字(和可選的名字)能夠修改行號還有#warning和#error輸出結果的文件名。

操作符重載:一些操作符能夠被重載,而另一些則不能.特別的是,沒有一個賦值運算符能夠被重載.能夠被重載的單目操作符是:+ - ! ~ ++ -- true false 能夠被重載的二元運算符是:+、 - 、*、 /、 %、 &、 |、 ^、 << 、>>、 ==、 !=、 >、 < 、>= 、<=。

類型:C# 中的類型一共分為兩類,一類是值類型(Value Type),一類是引用類型(Reference Type)。值類型和引用類型是以它們在計算機內存中是如何被分配的來劃分的。值類型包括 結構和枚舉,引用類型包括類、接口、委托 等。還有一種特殊的值類型,稱為簡單類型(Simple Type),比如 byte,int等,這些簡單類型實際上是FCL類庫類型的別名,比如聲明一個int類型,實際上是聲明一個System. Int32結構類型。因此,在 Int32類型中定義的操作,都可以應用在int類型上,比如 “123.Equals(2)”。

所有的值類型都隱式地繼承自System.ValueType類型(注意System.ValueType本身是一個類類型),System.ValueType和所有的引用類型都 繼承自 System.Object基類。不能顯式地讓結構繼承一個類,因為C#不支持多重繼承,而結構已經隱式繼承自ValueType。

NOTE:堆棧(stack)是一種后進先出的數據結構,在內存中,變量會被分配在堆棧上來進行操作。堆(heap)是用于為類型實例(對象)分配空間的內存區域,在堆上創建一個對象,會將對象的地址傳給堆棧上的變量(反過來叫變量指向此對象,或者變量引用此對象)。

中間代碼:微軟在用戶選擇何時MSIL應該編譯成機器碼的時候

是留了很大的余地.微軟公司很小心的聲稱MSIL不是解釋性的,而是被編譯成了機器碼.它也明白許多--如果不是大多數的話--程序員認為Java程序要不可避免的比C編寫的任何東西都要慢.而這種實現方式決定了基于MSIL的程序(指的是用C#,Visual Basic,"Managed C++"--C++的一個符合CLS的版本--等語言編寫的程序)將在性能上超過"解釋性的"Java代碼.當然,這一點還需要得到事實證明,因為C#和其他生成MSIL的編譯器還沒有發布.但是Java JIT編譯器的普遍存在使得Java和C#在性能上相對相同.象"C#是編譯語言而Java是解釋性的,"之類的聲明只是商業技巧.Java的中間代碼和MSIL都是中間的匯編形式的語言,它們在運行時或其它的時候被編譯成機器代碼。

上述就是小編為大家分享的適合開發桌面軟件的編程語言有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平塘县| 辉县市| 绩溪县| 思茅市| 茌平县| 黄浦区| 大名县| 绥江县| 金山区| 沐川县| 彰化市| 永新县| 祁东县| 武邑县| 湘阴县| 吴川市| 昆明市| 宁武县| 海宁市| 广宁县| 伊川县| 咸丰县| 安吉县| 镇江市| 克东县| 曲沃县| 游戏| 绥江县| 溆浦县| 炎陵县| 石城县| 偏关县| 雅安市| 丽水市| 南部县| 凌海市| 榆中县| 中牟县| 宜宾市| 哈巴河县| 兰溪市|