Time of Update: 2017-02-27
除法運算的演算法規則見表7-5:表7-5: 在除法運算過程中,預設的傳回值的類型與精度最高的運算元類型相同。比如,5/2的結果為2,而5.0/2結果為2.5。如果兩個整數類型的變數相除又不能整除的話,返回的結果是不大於相除之值的最大整數。看下面的例子:程式清單7-3:using System;class Test{ public static void Main(){ Console.WriteLine(5/3); Console.WriteLine(4/3);
Time of Update: 2017-02-27
本文1.IntPtr轉換成byte[]public byte[] ConvertToBytes(IntPtr dataBuf, int length){byte[] byteBuf = new byte[length];Marshal.Copy(dataBuf, byteBuf, 0, length);return byteBuf;}2.讀寫 INI檔案一般用於讀寫設定檔/// <summary>/// 讀寫INI檔案/// </summary>public class
Time of Update: 2017-02-27
一、控制播放1.1 暫停/播放/停止VC++
Time of Update: 2017-02-27
前言本章主要實現播放海康錄影檔案,更多播放器說明可以參考《Hikvision H264播放器編程指南V4.8》。先來一張簡單的效果圖以下幾個VC++ 代碼
Time of Update: 2017-02-27
前言在用戶端相關的文章還沒有寫出來的時候,伺服器端已經差不多了,沒有很及時的把文章一篇接一篇的寫是有理由的 ——有些功能我項目中暫時沒有加入,只是對照API知道有這個功能,邊寫文章邊做例子,這樣一來發現有些API封裝的不對,所以 把這系列的文章寫的速度都放慢了,以求盡量每一篇文章都正確。當然還是免不了找借口說太忙,現在在寫播放器部分的代碼,進展目前看來 還順利: )本文一、VC++
Time of Update: 2017-02-27
今天,有個網友,提問:指定目錄中有若干個很小的文字檔,現在需要使用多線程進行讀取。一個檔案一個線程或設定共有10個線程之類的方式都可以。把讀取的文本全部追加到視窗中的指定編輯框中,只有一個編輯框,都寫在這個裡面,不分順序,換行即可。我用委託的方式,寫了下面的解決方案:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using
Time of Update: 2017-02-27
在我們程式開發的過程中經常會需要繪製曲線圖和柱狀圖等,尤其是在做統計功能時。但是有時候我們有覺得沒有必要使用第三方控制項(例 如:ZedGraph等),這是我們可以自己編寫代碼來實現這些圖形繪製的功能。以下是我在開發過程中所使用過的兩段代碼,現共用大家,希望 能給大家帶來一定的協助,如有不妥敬請斧正!1.柱狀圖,效果圖如下代碼如下:注意:請注意參數 chartTable 圖形裡的一
Time of Update: 2017-02-27
在上一篇 MailMessage儲存為eml檔案(C#+SmtpClient)中,我們使用了反射(Reflection)的方式,調用System.Net.Mail的內部對象 MailWriter 實現了將 MailMessage 的內容儲存為 eml 檔案。通過上次的實現,主要是學習反射Reflection的使用思路,起到個拋磚引玉的作用吧,算是今天,偶爾看到了上次的代碼,又重新發現了一個新大陸,使得儲存eml檔案的工作,變得異常簡單了
Time of Update: 2017-02-27
儘管通過命令列工作時可以體驗到其與生俱來的優勢,但沒有人能夠否認鍵入數十個編譯器選項可能導致手指抽筋和錄入錯誤。為了有助於 減輕這兩個問題,C#編譯器支援使用回應檔。注 所有命令提示都允許您使用Up和Down方向鍵遍曆以前的命令。回應檔(它們按照約定採用*.rsp副檔名)包含您希望供給到csc.exe中的所有選項。在建立了該檔案以後,您就可以將它的名稱指定 為C#編譯器的唯一選項。為了便於說明,下面提供了一個將用於產生
Time of Update: 2017-02-27
一直以來,我都發現程式的運行速度不夠理想。通過查代碼,發現程式對資料庫的訪問非常頻繁,而且檢索出來的資料量比較大。為了讓程 序運行快起來,我想對程式採用適當的緩衝方法。我在C#嘗試了5種方法進行資料緩衝,具體如下:(如有遺漏,錯誤歡迎大家指正,歡迎提建議。)1:Session方法:此方法是針對於每個使用者來的,如果使用者量比較大,那麼建議不要採用此方法,否則會大量耗盡伺服器資源。2:Cache方法:2.1:對於每個使用者來說訪問的資料最好是一致的,否則要用不同的key標識不同的緩衝。
Time of Update: 2017-02-27
我有一個簡單的 C++ 問題。我想讓我的拷貝建構函式和賦值操作做同樣的事情。你能告訴我最佳實現方法嗎?Shadi Hani乍一看, 這似乎是一個答案簡單的簡單問題:寫一個調用 operator= 的建構函式不就行了:CFoo::CFoo(const CFoo& obj){ *this = obj;}或者,寫一個公用的拷貝方法,拷貝建構函式和 operator= 都調用這個方法也行。就像這樣:CFoo::CFoo(const CFoo& obj){ CopyObj(obj);
Time of Update: 2017-02-27
我們c#讀寫設定檔通常用IO對檔案進行讀寫。我覺得使用winapi的Kernel32.dll 對ini檔案讀取更好更方便一些對ini檔案讀寫 我們可以使用Kernel32.dll 中的WritePrivateProfileString(寫入),GetPrivateProfileString(讀入字串) ,GetPrivateProfileInt(讀入整型值)三個方法。下面我介紹著三個方法一.將資訊寫入.INI檔案中.1.所用的WINAPI函數為:
Time of Update: 2017-02-27
自增操作符++對變數的值加1,而自減操作符--對變數的值減速1。它們適合於sbyte,byte,short,ushort,int,uint,long,ulong,char,float,double,decimal和任何enum類型。比如,假設一個整數x的值為9,那麼執行x++之後的值為10。注意:自增和自減操作符的運算元必須是一個變數,一個屬性訪問器或一個索引指標訪問器,而不能是常量或者其它的運算式。比如5++和(x+)--都是非法的。如果運算元是一個訪問器,那麼這個訪問器必須同時支援讀和寫。自
Time of Update: 2017-02-27
三元操作符“?:”,有時也稱為條件操作符。對條件運算式b?x:y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y,運算結果為y的值。一個條件運算式從不會又計算x,也計算y。條件操作符是向右關聯的,也就是說,從左向右分組計算。例如:運算式a?b:c?d:e將按a?b:(C?d:e)形式執行。?:的第二和第三個運算元控制了條件運算式的類型。設x和y分別是第二個和第三個運算元的類型,那麼:●如果x和y為同一類型,則該類型即是條件運算
Time of Update: 2017-02-27
我們知道,任何資訊在電腦中都是以二進位的形式儲存的。位操作符就是對資料按二進位進行運算的操作符。C#語言中的位操作符有:● & 與● | 或● ^ 異或● ~ 取補● << 左移● >>
Time of Update: 2017-02-27
用邏輯操作符將關聯運算式或布林運算式串連起來就是邏輯運算式。邏輯運算式的值仍然是一個布爾值。在邏輯運算式的求值過程中,不是所有的邏輯操作符都被執行。有時候,不需要執行所有的操作符,就可以確定邏輯運算式的結果。只有在必須執行下一個邏輯操作符後才能求出邏輯運算式的值時,才繼續執行該操作符。這種情況我們稱為邏輯運算式的“短路”。假設a是一個布爾值或邏輯運算式,bool-exp是一個邏輯運算式,那麼:●a&&(bool-exp) 只有a為true時,才繼續判斷值。
Time of Update: 2017-02-27
C#語言提供了三種邏輯操作符:●&& 邏輯與●||邏輯或●!邏輯非其中,邏輯與和邏輯或都是二元操作符,要求有兩個運算元。而邏輯非為一元操作符,只有一個運算元。它們的運算元都是布爾類型的值或者運算式。運算元為不同的組合時,邏輯操作符的運算結果可以用邏輯運算的“真值表”來表示,見表7-6:表7-6 真值表 a b !a a&&b
Time of Update: 2017-02-27
關係運算實際上邏輯運算的一種,我們可以把它理解為一種“判斷”,判斷的結果要麼是“真”,要麼是“假”,也就是說關聯運算式的傳回值總是布爾值。C#定義關係操作符的優先順序低於算術操作符,高於賦值操作符。7.4.1 比較運算7.4.2 is操作符7.4.3 as操作符7.4.4
Time of Update: 2017-02-27
as操作符用於通過引用轉換或裝箱轉換將一個值顯式地轉換成指定的參考型別。不象顯式類型轉換,as不會產生任何異常。如果轉換不可以進行,那麼結果值為null。形如“e as T”的轉換,e定是一個運算式且T是一個參考型別。傳回值的類型總是T的類型,並且結果總是一個值。比如,當你在程式中寫了下面的語句:string s='a' as string雖然,字元型不能轉換為字串類型,程式仍然可以編譯通過,只是有一個警告:The given expression is never
Time of Update: 2017-02-27
is操作符被用於動態地檢查運行時物件類型是否和給定的類型相容。運算"e is T"的結果。其中,e是一個運算式,T是一個類型傳回值是一個布爾值。它表示,e是否能通過引用轉換、裝箱轉換或拆箱轉換,成功地轉換於T類型。程式清單7-4:using System;class Test{ public static void Main(){ Console.WriteLine(1 is int); Console.WriteLine(1 is float);