青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎(chǔ)} {C++ 高級(jí)} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

c#與java(轉(zhuǎn))

 

一、什么是 C#?
C# 是由Microsoft開(kāi)發(fā)的一種新型編程語(yǔ)言,由于它是從C和C++ 中派生出來(lái)的,因此具有C++的功能。同時(shí),由于是Microsoft公司的產(chǎn)品,它又同 VB一樣簡(jiǎn)單。對(duì)于web開(kāi)發(fā)而言,C#象 Java,同時(shí)具有Delphi的一些優(yōu)點(diǎn)。Microsoft宣稱(chēng):C#是開(kāi)發(fā).NET框架應(yīng)用程序的最好語(yǔ)言。
二、Java與 C#
要學(xué)習(xí)C#,不能不首先看一看Java語(yǔ)言。
相對(duì)于其他編程語(yǔ)音,Java有一個(gè)無(wú)庸置疑的優(yōu)點(diǎn):用戶(hù)以及編譯器第一次不必了解生成可執(zhí)行代碼的特定CPU細(xì)節(jié)。Java引入了一個(gè)編譯代碼中間層,叫做字節(jié)代碼,并使用一個(gè)虛擬抽象的機(jī)器,而不是一個(gè)真實(shí)的機(jī)器。當(dāng)Java編譯器結(jié)束了一個(gè)源文件的編譯后,你所得到的不是可以立即在一個(gè)給定平臺(tái)上運(yùn)行的代碼,而是可以在任何真實(shí)的平臺(tái)上運(yùn)行的字節(jié)代碼,唯一的條件就是這個(gè)平臺(tái)要理解和支持Java。這些發(fā)展包含著一個(gè)文化的變革。作為一個(gè)開(kāi)發(fā)人員,你只需要確定Java虛擬機(jī)(JVM)提供的抽象層,不同的OS銷(xiāo)售商負(fù)責(zé)執(zhí)行代碼層,從而將中立于平臺(tái)的字節(jié)代碼映射到主機(jī)平臺(tái)的機(jī)構(gòu)中。在這種情況下,Java似乎是統(tǒng)一分布式計(jì)算機(jī)世界的領(lǐng)袖候選人了?!熬帉?xiě)一次,永遠(yuǎn)運(yùn)行”(并且無(wú)論在哪里)一度成為Java誘人但卻真實(shí)的口號(hào)。
那么為什么說(shuō)Java只是“似乎”是一個(gè)好東西呢?跨平臺(tái)理論的發(fā)展很好地證明了這一點(diǎn)。我們看到,將Java代碼從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái)—Java這個(gè)語(yǔ)言最重要和最受吹捧的特點(diǎn)—并不象宣傳的那樣容易。任何Java平臺(tái)都有其自己的虛擬機(jī),它可以理解通用的字節(jié)代碼,并且及時(shí)地將其編譯為本地代碼。矛盾由此產(chǎn)生,不同虛擬機(jī)的執(zhí)行也很不相同,這一點(diǎn)足以使代碼的移植比預(yù)期耗費(fèi)多得多的時(shí)間,而且基本上不是自動(dòng)的。
那么,Java模型的好處在哪里呢?首先,Java是一種先進(jìn)的、面向?qū)ο蟮恼Z(yǔ)言,包含了預(yù)防常見(jiàn)錯(cuò)誤的內(nèi)置功能,并在僅僅一兩個(gè)對(duì)象中攜帶了許多經(jīng)常需要用到的功能。與C++相比,Java更易于讀寫(xiě),不容易出錯(cuò),而且更加美觀(guān),但是它速度較慢也不太靈活。想實(shí)現(xiàn)在任何軟件和硬件平臺(tái)上都可虛擬移植,Java盡可能少地使用了公分母模型,也就是說(shuō)放棄了將每個(gè)平臺(tái)開(kāi)發(fā)到極限的能力。第二,虛擬機(jī)的概念本身就是可移植和可共用的,因此對(duì)于分布式環(huán)境來(lái)說(shuō)是理想的。Java對(duì)于為非Windows平臺(tái)開(kāi)發(fā)代碼是最好的語(yǔ)言。
那么對(duì)于Windows平臺(tái)來(lái)說(shuō),Java又怎么樣呢?讓Java適應(yīng)Windows是不可能的,這是由于Sun的許可約束問(wèn)題。但是Java實(shí)在是太吸引人了,Microsoft比誰(shuí)都能更清楚這一點(diǎn)。因此,Microsoft又一次采取了“拿來(lái)主義”的手法,很好地利用了Java 的眾多特性,隆重推出了Windows平臺(tái)的新銳力量,它就是相當(dāng)簡(jiǎn)單但十分強(qiáng)大的面向?qū)ο蟮腃#編程語(yǔ)言。C#超過(guò)了C++,它天生就包含了.NET框架類(lèi)庫(kù)中的所有類(lèi),并使語(yǔ)法簡(jiǎn)單化。
可以說(shuō),Java具備的優(yōu)點(diǎn),C#都可以或者都將具備!
三、C#的主要特征
C# 是.NET的關(guān)鍵性語(yǔ)言,它是整個(gè).NET平臺(tái)的基礎(chǔ)。與C#相比,.NET所支持的其它語(yǔ)言顯然是配角身份。比如,VB.NET的存在主要是對(duì)千萬(wàn)個(gè)VB開(kāi)發(fā)人員的負(fù)責(zé)。對(duì)于JScript.NET和 Managed C++ 也同樣可以這么說(shuō),后者只是增加了調(diào)用.NET類(lèi)的C++ 語(yǔ)言。C#是唯一沒(méi)有在設(shè)計(jì)思路中加入了前輩語(yǔ)言某種遺傳的新事物。
.NET平臺(tái)將 C#作為其固有語(yǔ)言,重溫了許多Java的技術(shù)規(guī)則。C#中也有一個(gè)虛擬機(jī),叫做公用語(yǔ)言運(yùn)行環(huán)境(CLR),它的對(duì)象也具有同樣的層次。但是 C#的設(shè)計(jì)意圖是要使用全部的Win32 API甚至更多。由于C#與 Windows的體系結(jié)構(gòu)相似,因此 C# 很容易被開(kāi)發(fā)人員所熟悉。
Java的目的是要拯救分布式計(jì)算世界,C# 則不同。C#本質(zhì)上是C++的進(jìn)化產(chǎn)物,使用了包括聲明、表達(dá)式及操作符在內(nèi)的許多C++特征,但是 C#還有更多的增強(qiáng)功能,比如類(lèi)型安全(type-Safe)、事件處理、碎片帳集、代碼安全性等。在C#中,除了可以使用許多API,更能使用.NET類(lèi)。特別地是,我們可以處理COM的自動(dòng)化和C類(lèi)型的函數(shù)。
C#還讓你調(diào)用無(wú)管理的代碼,也就是在CLR引擎控制之外的代碼。這種不安全的模式允許你操作原始指針來(lái)讀和寫(xiě)內(nèi)置碎片帳集控制以外的內(nèi)存。
四、安裝運(yùn)行環(huán)境
安裝.NET SDK 是在機(jī)器上運(yùn)行C# 的第一步。.NET SDK 可以安裝在Windows ME、Windows NT或Windows 2000上,但是最好的選擇是Windows 2000上。選擇了操作系統(tǒng)后,再執(zhí)行以下步驟:
●安裝 IE 5.5
●安裝Microsoft .NET Framework SDK。它是免費(fèi)的,可以從以下站點(diǎn)下載.NET Framework SDK.
●完成以上安裝后,就可以在任何文本編輯器中編寫(xiě)代碼了,最后保存為擴(kuò)展名為.cs的文件

五、C# 編輯器
編寫(xiě)C#程序可以在文本編輯器中進(jìn)行,或者在集成開(kāi)發(fā)環(huán)境Visual Studio中進(jìn)行。市場(chǎng)上還有一些第三方編輯器,其中一些是免費(fèi)的。
六、C#的程序結(jié)構(gòu)
一個(gè)C#程序包含一個(gè)類(lèi),這個(gè)類(lèi)中至少有一個(gè)公用的靜態(tài)方法Main,這個(gè)方法對(duì)程序進(jìn)行初始化并終止程序。在Main方法中創(chuàng)建子對(duì)象、執(zhí)行方法并實(shí)現(xiàn)軟件的邏輯處理。下面是一個(gè)典型的微型C#例程:
using System;
class MyFirstApp
{
static int Main(String[] args)
{
System.Console.WriteLine ("Hello .NET");
return 1;
}
}
在C#中,要使用下面的聲明來(lái)引入外部定義,而不是用象C++中的#include:
using System;
using System.Data;
然后,使用C#編譯器csc.exe編譯代碼。假定將前面的代碼保存為文件hello.cs,使用以下命令:
csc hello.cs
結(jié)果就生成了hello.exe,它向控制臺(tái)輸出窗口寫(xiě)入信息 "Hello .NET"。
盡管編譯后的結(jié)果文件包含.exe后綴,但hello.exe卻不是一個(gè)真正的、明確的CPU代碼段。實(shí)際上,它包含了.NET字節(jié)代碼。當(dāng)啟動(dòng)hello.exe時(shí),CLR 將提取編譯器寫(xiě)入代碼中的重要元數(shù)據(jù)。接著,一個(gè)叫做 Just-In-Time 編譯器的模塊將代碼映射到特定的 CPU中,開(kāi)始實(shí)際的執(zhí)行過(guò)程。
七、C# 和名稱(chēng)空間
實(shí)際中的 C#程序通常包含多個(gè)文件,其中每個(gè)文件都可以包含一個(gè)或多個(gè)名稱(chēng)空間。一個(gè)名稱(chēng)空間就是一個(gè)名字,它向編譯器描繪出一些軟件實(shí)體,如類(lèi)、界面、枚舉以及嵌入的名稱(chēng)空間。名稱(chēng)空間和數(shù)據(jù)類(lèi)型一樣必須有唯一的名稱(chēng)。在一個(gè)C#程序中,可以通過(guò)一個(gè)元素的完整資格名稱(chēng)來(lái)識(shí)別它,這個(gè)資格名稱(chēng)表明出層次關(guān)系。例如,System.String是 .NET String類(lèi)型完整的資格名稱(chēng)。但是為了簡(jiǎn)化代碼起見(jiàn),只要聲明正在使用System名稱(chēng)空間:
using System;
就可以使用一個(gè)相對(duì)名稱(chēng)如String來(lái)作為完整名稱(chēng)的同義詞,而最后依然代表 System.String。
通過(guò)使用namesapce關(guān)鍵字,我們還可以將C#程序或者類(lèi)包裹在自身的名稱(chēng)空間中,比如:
namespace MyOwn
{
using System; // for String
class MyFirstApp
{
static int Main(String[] args)
{
System.Console.WriteLine ("Hello .NET");
return 1;
}
}
}
名稱(chēng)空間 MyOwn 是全局名稱(chēng)空間的一部分。調(diào)用它不需要再使用前綴,因?yàn)槠渫暾Y格名稱(chēng)就是簡(jiǎn)單的MyOwn。定義一個(gè)名稱(chēng)空間是保持公共名稱(chēng)唯一性的一個(gè)途徑。實(shí)際上,如果兩個(gè)類(lèi)的名稱(chēng)發(fā)生沖突,但只要它們分別屬于不同的名稱(chēng)空間,兩個(gè)類(lèi)仍然是各自唯一的。

posted on 2005-11-10 16:15 夢(mèng)在天涯 閱讀(2116) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): C#/.NET

公告

EMail:itech001#126.com

導(dǎo)航

統(tǒng)計(jì)

  • 隨筆 - 461
  • 文章 - 4
  • 評(píng)論 - 746
  • 引用 - 0

常用鏈接

隨筆分類(lèi)

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1812202
  • 排名 - 5

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久综合999| 国产精品成人播放| 欧美大片免费观看在线观看网站推荐| 99视频一区二区三区| 欧美日韩亚洲综合在线| 久久久久国色av免费观看性色| 一区二区国产精品| 亚洲大片精品永久免费| 在线观看成人网| 91久久午夜| 亚洲小说欧美另类婷婷| 亚洲欧美国产精品桃花| 欧美午夜激情小视频| 国产欧美精品一区二区三区介绍| 亚洲日本va在线观看| 欧美国内亚洲| 一片黄亚洲嫩模| 久久国产成人| 欧美日一区二区在线观看 | 欧美日韩一区三区| 国产精品草莓在线免费观看| 国产一区二区三区久久精品| 麻豆成人综合网| 国产精品久久婷婷六月丁香| 国外成人在线视频| 国产精品伦一区| 老鸭窝亚洲一区二区三区| 亚洲精品久久| 久久精品视频亚洲| 国产精品一区二区黑丝| 亚洲精品小视频在线观看| 久久国产婷婷国产香蕉| 99综合电影在线视频| 久久香蕉国产线看观看av| 亚洲精品国产拍免费91在线| 欧美一区二区三区在线观看| 亚洲日本一区二区三区| 久久精品最新地址| 狠狠色丁香久久综合频道| 欧美亚洲自偷自偷| 午夜精品久久久久久久蜜桃app | 亚洲国产精品毛片| 欧美在线观看你懂的| 国产亚洲成精品久久| 国产丝袜一区二区| 久久岛国电影| 免费成人av在线| 久久综合国产精品| 欧美a级一区二区| 亚洲精品123区| 99精品视频免费观看| 亚洲专区一区| 国内自拍亚洲| 日韩午夜在线播放| 国产日韩专区| 99re66热这里只有精品3直播| 亚洲欧美综合网| 在线精品高清中文字幕| 国产日韩精品在线播放| 欧美成人精品一区| 亚洲激情视频网| 欧美日韩在线看| 欧美99在线视频观看| 国产精品福利在线观看网址| 亚洲线精品一区二区三区八戒| 亚洲自拍偷拍网址| 亚洲国产一区二区三区青草影视| 一区二区三区蜜桃网| 午夜伦欧美伦电影理论片| 亚洲人成在线播放网站岛国| 亚洲午夜一区| 欧美一区二区三区日韩| 欧美日韩一区在线| 亚洲精品在线电影| 日韩视频在线观看一区二区| 久久久99爱| 老妇喷水一区二区三区| 国产欧美一级| 欧美专区在线播放| 免费成人av在线看| 韩日午夜在线资源一区二区| 亚洲视频网在线直播| 亚洲综合第一| 国产日本亚洲高清| 久久精品国产清高在天天线| 国产亚洲激情视频在线| 亚洲视频免费在线观看| 亚洲欧美变态国产另类| 国产精品婷婷| 久久夜色精品国产| 亚洲免费成人av| 久久国产综合精品| 亚洲国产欧美另类丝袜| 欧美—级a级欧美特级ar全黄| 中文日韩在线视频| 国产精品国产三级国产aⅴ入口 | 亚洲性感美女99在线| 欧美日一区二区三区在线观看国产免 | 亚洲精品综合久久中文字幕| 久久综合久久综合久久综合| 91久久久精品| 久久亚洲春色中文字幕| 欧美高清视频一区二区三区在线观看 | 久久天堂精品| 亚洲女人天堂成人av在线| 欧美成人四级电影| 久久久久久久久综合| 亚洲午夜一级| 在线视频欧美日韩精品| 伊人久久综合97精品| 国产精品丝袜白浆摸在线| 欧美日韩国产成人在线| 欧美成在线观看| 女同性一区二区三区人了人一| 先锋影院在线亚洲| 一本色道久久综合亚洲精品不卡 | 久久激情视频| 久久激情久久| 毛片基地黄久久久久久天堂| 国产一区二区三区四区hd| 国产精品久久久久久模特| 欧美日韩在线综合| 国产精品久久久久久久久借妻 | 久久精品成人欧美大片古装| 欧美日韩一区二区三区在线| 亚洲欧美日韩精品| 欧美日韩国产一级| 欧美精品电影| 国产精品美女一区二区| 国内精品伊人久久久久av一坑| 亚洲免费在线视频一区 二区| 欧美有码在线视频| 久久大综合网| 亚洲激情校园春色| 午夜亚洲福利在线老司机| 久久人人97超碰精品888| 欧美精品九九| 狠狠色狠狠色综合系列| 宅男精品导航| 久久亚洲国产成人| 亚洲欧美日本视频在线观看| 亚洲高清视频一区| 午夜精品久久久久久久男人的天堂| 久久人人97超碰精品888| 亚洲视频福利| 亚洲第一在线综合在线| 久久激情久久| 国产一区二区三区四区| 亚洲免费在线电影| 亚洲美女在线国产| 欧美日韩精品欧美日韩精品| 亚洲黑丝一区二区| 欧美国产日韩一区二区| 久久人人看视频| 亚洲电影下载| 亚洲高清123| 欧美精品色一区二区三区| 亚洲欧洲综合另类| 亚洲精选国产| 国产精品美女在线| 国内外成人免费激情在线视频网站| 欧美日韩1区| 亚洲午夜国产一区99re久久| 99re66热这里只有精品3直播| 亚洲欧洲综合另类| 亚洲精品国产精品久久清纯直播 | 午夜精品福利在线| 国产精品嫩草久久久久| 久久精品30| 欧美激情综合网| 欧美亚洲一区二区三区| 久久视频在线看| 麻豆精品一区二区综合av| 日韩视频久久| 久久精品国产久精国产一老狼| 久久人人精品| 亚洲影视综合| 蜜臀a∨国产成人精品| 亚洲综合另类| 欧美激情精品久久久久久黑人 | 欧美一区二区啪啪| 亚洲电影免费观看高清完整版在线| 亚洲午夜av| 久久视频在线免费观看| 亚洲欧美日韩中文视频| 亚洲国产cao| 国产日韩亚洲| 午夜精品久久久久久久久久久久久| 欧美一级久久| 欧美激情精品久久久久久变态| 亚洲第一久久影院| 9久草视频在线视频精品| 性久久久久久久久| 欧美一区二区三区在线观看视频 | 午夜一区在线| 欧美日韩一区二区三区在线| 亚洲精品久久久久中文字幕欢迎你| 欧美一级黄色网| 久久av资源网站| 国模私拍一区二区三区|