您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

02 閱讀3.0訂閱源規則(web是什么)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-27 00:24:14【】0人已围观

简介C++或者Java更廣泛的數據類型.這些類型是bool,byte,ubyte,short,ushort,int,uint,long,ulong,float,double,和decimal.象Java一

C++或者Java更廣泛的數據類型.這些類型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal.象Java一樣,所有這些類型都有一個固定的大小.又象C和C++一樣,每個數據類型都有有符號和無符號兩種類型.與Java相同的是,一個字符變量包含的是一個16位的Uni買粉絲de字符.C#新的數據類型是decimal數據類型,對于貨幣數據,它能存放28位10進制數字.

兩個基本類:一個名叫object的類是所有其他類的基類.而一個名叫string的類也象object一樣是這個語言的一部分.作為語言的一部分存在意味著編譯器有可能使用它--無論何時你在程序中寫入一句帶引號的字符串,編譯器會創建一個string對象來保存它.

參數傳遞:方法可以被聲明接受可變數目的參數.缺省的參數傳遞方法是對基本數據類型進行值傳遞.ref關鍵字可以用來強迫一個變量通過引用傳遞,這使得一個變量可以接受一個返回值.out關鍵字也能聲明引用傳遞過程,與ref不同的地方是,它指明這個參數并不需要初始值.

與COM的集成:C#對Windows程序最大的賣點可能就是它與COM的無縫集成了,COM就是微軟的Win32組件技術.實際上,最終有可能在任何.NET語言里編寫COM客戶和服務器端.C#編寫的類可以子類化一個以存在的COM組件;生成的類也能被作為一個COM組件使用,然后又能使用,比方說,JScript語言子類化它從而得到第三個COM組件.這種現象的結果是導致了一個運行環境的產生,在這個環境里的組件是網絡服務,可用用任何.NET語言子類化.

索引下標:一個索引與屬性除了不使用屬性名來引用類成員而是用一個方括號中的數字來匿名引用(就象用數組下標一樣)以外是相似的.

public class ListBox: Control

{

private string[] items;

public string this[int index]

{

get

{

return items[index];

}

set

{

items[index] = value;

Repaint();

}

}

}

可以用一個循環器來匿名引用字符串內部數組成員,就象下面這樣:

ListBox listBox = ...;

listBox[0] = "hello";

Console.WriteLine(listBox[0]);

代理和反饋:一個代理對象包括了訪問一個特定對象的特定方法所需的信息.只要把它當成一個聰明的方法指針就行了.代理對象可以被移動到另一個地方,然后可以通過訪問它來對已存在的方法進行類型安全的調用.一個反饋方法是代理的特例.event關鍵字用在將在事件發生的時候被當成代理調用的方法聲明.

補充:

C#簡史——摘自《程序員》雜志2005-12月刊

C# 簡史

編者按:時間過得真快,居然現在就可以寫C#的簡史了。但是想想也不奇怪,C#可謂

起點高、發展快的新一代語言,它的這五年走過了很多前輩十幾年的路。公允地說,C#是目

前兼顧系統開發和應用開發的最佳實用語言,并且很有可能成為編程語言歷史上的第一個“全

能”型語言。看過這篇簡史,我們都應該明白,不要再把C#看成年輕后生了——只要是“馬

拉多納”,就早晚當“球王”。

C# 1.0,純粹的面向對象

當時間回溯到1998年底,微軟正在忙于新一代COM的設計工作。此前,COM一直是組件化開發中非常成功的一種技術;但由于它僅提供了二進制

層面上的統一,因此無法將類型信息和用于支持基礎平臺和開發工具的信息放到組件中。這時,Java正在逐步走向成熟。于是,微軟學習Java

的做法,將虛擬機的概念引入到了COM領域;同時,微軟提出了“元數據”的概念,用于描述組件的類型信息和工具支持信息,并決定將其放入

到組件當中。這種“COM虛擬機”的名字在經歷了若干爭論后,最終被定為CLR(Common Language Runtime,公共語言運行時)。與此同時,微

軟提出了在該運行時上運作的語言應該遵循的一些規則,以及該虛擬機的類型系統和指令集——所有這些規范形成了最終的C L I(Common

Language Infrastructure,公共語言基礎設施),并提交給了ECMA委員會。同時,微軟開發了CLI的一個實現,這就是大名鼎鼎的.NET了。

1998年12月,微軟啟動了一個全新的語言項目——COOL,這是一款專門為CLR設計的純面向對象的語言,也正是本文的主角——C#的前身。歷時

半年有余,1999年7月份,微軟完成了COOL語言的一個內部版本。直到2000年2月份,微軟才正式將COOL語言更名為C#。據說起這個名字是因為

C#開發小組的人很討厭搜索引擎,因此把大部分搜索引擎無法識別的“#” 字符作為該語言名字的一部分;還有一種說法是在音樂當中“#”是

升調記號,表達了微軟希望它在C的基礎上更上一層樓的美好愿望——當然這些都只是傳說,無從考證。又是歷經了一系列的修改,微軟終于在

2000年7月發布了C#語言的第一個預覽版。因此人們一般認為C#是2000年發布的,并以此來計算它的“年齡”。在此后的一年多時間里,微軟一

直在修補各個測試版本中的BUG。直到2002年2月,微軟終于推出了遲遲未上市的Visual Studio 7.0,并將其定名為“VisualStudio .NET 2002

”。隨著這套開發環境的出爐,開發者們終于看到了C#語言的第一個正式版本——C# 1.0。此后,微軟馬不停蹄,Visual Studio也恢復了往日

的開發進度。在2003年5月,微軟如期推出了Visual Studio .NET 2003,同時也發布了C#的改進版本——C# 1.1。這一時期的C#(以下稱為C#

1.x)提出了純粹的面向對象概念,并在語言特性中展現得淋漓盡致。C++并非純面向對象的,為了和C兼容以及提供更高的執行效率,它保留了

很多模塊化的東西。Java盡管號稱是面向對象的,但實際上,對于對象所應該具備的三種構成結構——屬性、方法和事件,Java僅提供了方法

,其它兩種結構都要通過方法來模擬。在C# 1.x中,所有面向對象的概念都在語言中得到了非常好的體現。同時,C#還通過類類型、值類型和

接口類型的概念形成了統一的類型系統。C#使用了大家所熟知的語法實現了方法,以至于很多人認為C#和Java、C++等面向對象語言“非常相像

”,這使得從使用其他面向對象語言轉到使用C#的過程非常簡單。此外,C#還通過無參數列表的方法聲名語法,結合get/set訪問器實現了優雅

的屬性語法。其中的get訪問器相當于獲取屬性值的方法,可以通過一些運算返回最終的結果,而不是簡單地返回一個變量的值;而set訪問器

相當于設置屬性值的方法,在其中可以進行一系列檢測,最后將屬性值賦給相應的變量。同時,通過同時提供get和set訪問器、只提供get訪問

器和只提供set訪問器,還可以很方便地實現可讀寫、只讀和只寫的屬性。C#的這種屬性語法,使得一個屬性在提供該屬性的類的內部看來,非

常像一組方法;而對于外部調用類看來,訪問一個對象的屬性和訪問它的公共域沒有任何區別。

通過委托(稍后介紹),結合關鍵字event,C#提供了優雅的事件概念。使用+=運算符,開發者可以非常方便地將一個事件處理器關聯到一個事

件上,這個過程稱之為“訂閱”一個事件。由于委托內部封裝了一個調用鏈表,因此可以方便地為一個事件添加多個事件處理器,這些處理器

會自動地依次調用。多年的開發語言進化證明,函數指針是非常重要也是非常危險的語言特征之一。同時,基于函數指針的回調機制也Windows

核心概念之一。然而,由于函數指針很難驗證參數的類型準確性,因此C#(確切地說是CLI)提出了“委托”的概念,這是一種類型安全的函數

指針鏈表。這意味著,C#不僅可以提供回調機制,同時調用回調的一方還無需在其內部維護函數指針列表,所要做的僅僅是聲名一個具有恰當

委托類型的公共成員即可;而提供回調的一方也只需通過構造一個帶有指定方法的相應委托實例,并通過“+=”運算符添加到回調列表即可。

盡管C# 1.x提供了如此多的新鮮概念,但實際上,這些概念都是由CLI提出的。因此當將一個C#源程序編譯為可執行文件時,編譯器做的工作相

對而言并不多。需要編譯器代勞的是要將一個簡單的委托定義語句翻譯為一個繼承自System.MulticastDelegate類型定義。

C# 2.0,泛型編程新概念

微軟本打算繼續保證開發進度,并在2004年推出Visual Studio .NET 2004,但由于其間軟件工程學尤其是軟件管理學的大規模進步,微軟所提

供的這種僅具備開發和調試功能的IDE已經無法滿足團隊開發的需求。因此微軟決定在項目設計和管理工具方面進行了進一步研發,并將其集成

到Visual Studio中,以贏回原有的市場。因此,微軟將Visual Studio.NET 2004“改名”為Visual Studio 2005,并決定推遲一年發布。不過

,微軟還是堅持在2004年的6月份發布了Visual Studio2005的第一個Beta 版,同時向開發者展示了C#語言的2.0版本。2005年4月,微軟發布了

Visual Studio 2005 Beta2,這已經是具備了幾乎全部功能的VisualStudio,包括的產品有SQL Server2005、Team Foundation Server和

TeamSuite。這時的C#編譯器已經能夠處理C# 2.0中所有的新特性。C# 2.0為開發者帶來的最主要的特性就是泛型編程能力。和面向對象思想一

樣,泛型思想也是一種已經成熟的編程思想,但依然是沒有哪一種主流開發語言能夠支持完備的泛型概念。這主要是因為泛型的概念在一定程

度上對面向對象概念進行沖擊,同時,由于在編譯期間對類型參數的完全檢測很難做到,很多問題會被遺留到運行時。C# 2.0別出心裁,對泛

型類型參數提出了“約束”的新概念,并以優雅的語法體現在語言之中。有了約束,結合編譯器強大的類型推斷能力,可以在編譯時

發現幾乎所有“危險”的泛型應用。C# 2.0的另一個突出的特性就是匿名方法,用來取代一些短小的并且僅出現一次的委托,使得語言結構更

加緊湊。匿名方法除了可以使得事件處理器的編寫更

很赞哦!(911)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:四川巴中平昌县

工作室:小组

Email:[email protected]