本篇內(nèi)容主要講解“如何理解C#命名管道中轉(zhuǎn)換int型數(shù)組和字符數(shù)組”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何理解C#命名管道中轉(zhuǎn)換int型數(shù)組和字符數(shù)組”吧!
創(chuàng)新互聯(lián)擁有10多年成都網(wǎng)站建設(shè)工作經(jīng)驗,為各大企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站服務(wù),對于網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、重慶APP開發(fā)、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、域名申請等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項目的能力。
C#命名管道中,有關(guān)于轉(zhuǎn)換的部分,最多的疑問來自于int型數(shù)組和字符數(shù)組的轉(zhuǎn)換。我們這里進行的提問與回答,應(yīng)該能解釋這一問題。
C#命名管道中轉(zhuǎn)換int型數(shù)組和字符數(shù)組的提問
命名管道中要把一個數(shù)據(jù)寫入管道,那么需要調(diào)用下面的API函數(shù),如下:
[DllImport("kernel32.dll", SetLastError=true)] public static extern bool WriteFile( IntPtr hHandle, // handle to file byte[] lpBuffer,// data buffer uint nNumberOfBytesToWrite, // number of bytes to write byte[] lpNumberOfBytesWritten, // number of bytes written uint lpOverlapped // overlapped buffer );[/align]
所有的數(shù)據(jù)必須轉(zhuǎn)換為字符數(shù)組的形式:byte[] lpBuffer, 如果是簡單的基本類型,如int型,可以通過System.BitConverter.GetBytes(intdata),將int型數(shù)組轉(zhuǎn)換為byte[], 讀取數(shù)據(jù)時反過來通過System.BitConverter.ToInt32(bytes,0)將字符數(shù)組轉(zhuǎn)換為int型。.net庫函數(shù)提供了將基本類型數(shù)據(jù)
轉(zhuǎn)換為字符數(shù)組的函數(shù),但是沒有提供轉(zhuǎn)換復(fù)雜類型的函數(shù)。
所以,如果傳遞的是其他非基本類型數(shù)據(jù),如int型數(shù)組,該如何轉(zhuǎn)換呢?
C#命名管道中轉(zhuǎn)換int型數(shù)組和字符數(shù)組的回答
直接把數(shù)組序列化為Byte[]就可。
BinaryFormatter formatter = new BinaryFormatter(); MemoryStream memStream = new MemoryStream(); formatter.Serialize(memStream, array); memStream.Position = 0; byte[] b=memStream.GetBuffer(); memStream.Close();
在C++中能夠?qū)nt型數(shù)組轉(zhuǎn)化為字節(jié)數(shù)組嗎?
這個肯定可以,問題是轉(zhuǎn)換后能不能在C#中用BinaryFormatter反序列化。
其實就是在C++中能不能模擬出BinaryFormatter的序列化的功能,可以研究BinaryFormatter的代碼,或者序序列化后的Byte數(shù)組結(jié)構(gòu)。
到此,相信大家對“如何理解C#命名管道中轉(zhuǎn)換int型數(shù)組和字符數(shù)組”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
名稱欄目:如何理解C#命名管道中轉(zhuǎn)換int型數(shù)組和字符數(shù)組
標(biāo)題來源:http://aaarwkj.com/article16/pdiggg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、標(biāo)簽優(yōu)化、服務(wù)器托管、外貿(mào)建站、網(wǎng)站設(shè)計、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)