日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
概述C#使用指針

這是C/C++程序迷們經(jīng)常談?wù)摰囊粋€話題,同時也是一個復(fù)雜的、難以理解的話題-指針!每次談到C#,大多數(shù)我遇到的人都持這樣的觀點-C#中沒有指針的概念。而實際上,它已經(jīng)被廢除了,取而代之的是C#中的非安全編程-如何在程序中使用指針。不同于其字面意思的是,C#使用指針編程并沒有什么不安全的。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的銀川網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

它如此受關(guān)注的根本原因是,非安全編程不同于習(xí)慣的.NET開發(fā)規(guī)范,而需要編程人員進行明確定本地環(huán)境設(shè)置(僅適用于本地執(zhí)行)。本文我將從區(qū)別兩個最容易被疑惑的概念-非安全代碼與非受控代碼開始討論非安全編程這個主題。接下來我們將討論如何編寫非安全代碼,亦即如何在C#使用指針。

非安全還是非受控?

受控代碼是指在CLR管理下執(zhí)行的代碼。CLR負責(zé)了許多幕后的工作:
◆管理對象的內(nèi)存
◆進行類型驗證
◆垃圾回收

說了這些,實際就是要將用戶從上述的這些工作中解脫出來了,專心于業(yè)務(wù)實現(xiàn)。用戶不再需要直接手工地進行內(nèi)存操作,因為這些工作已由CLR完成了。

另一方面,非受控代碼就是在CLR上下文外執(zhí)行的代碼了。最好的例子就是我們平時使用的Win32 DLL,比如kernel32.dll,user32.dll以及安裝上我們系統(tǒng)上的各種COM組件。如何為它們分配內(nèi)存、如何釋放這些內(nèi)存、如何實現(xiàn)類型驗證?這些工作都需要它們自己來完成。一個典型的C++程序中分配一個字符指針的語句也是非受控代碼的另一類例子,因為作為一名編程者,你要負責(zé):
◆調(diào)用內(nèi)存分配函數(shù)
◆確保類型轉(zhuǎn)換的結(jié)果正確
◆確保指針在使用完畢后其內(nèi)存被釋放

如果你留心上面的解釋,所有這些工作都是由CLR來完成以減輕編程者的負擔(dān)。

非安全代碼是介于受控與非受控代碼間的一種代碼類型

非安全代碼仍然象受控代碼一樣是在CLR的管理下執(zhí)行的,但在同時它又象非受控代碼一樣允許你通過指針直接訪問內(nèi)存。因此你獲得了兩者的優(yōu)點。如果你正在編寫寫一個.NET應(yīng)用程序,但同時又希望可以廣泛使用Win32 DLL中的各種函數(shù)-需要C#使用指針的,那么此時非安全代碼就是你的救星了。

我們已經(jīng)明確了兩者的區(qū)別后,就開始編寫實際的代碼,毫無疑問,這才是最精彩的部分,你還在想什么呢?
深入非安全代碼

編寫非安全代碼需要使用特殊的關(guān)鍵字unsafe與fixed。如果你還記得的話,有三種指針操作符:*  &  ->

【編輯推薦】

  1. C#特有線程功能
  2. 淺談C#對象和集合
  3. 淺析C# FTP WebRequest對象
  4. C#分部方法的應(yīng)用場景
  5. 概述C#線程功能

新聞名稱:概述C#使用指針
文章來源:http://www.5511xx.com/article/djssdod.html