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
在C#語言中,一些預定義的資料類型之間存在著預定義的轉換。比如,從int類型轉換到long類型。C#語言中資料類型的轉換可以用分為兩類:隱式轉換(implicit conversions)和顯式轉換(explicit conversions)。本章我們將詳細介紹這兩類轉換。6.1
Time of Update: 2017-02-27
隱式枚舉轉換允許把十進位整數0轉換成任何枚舉類型,對應其它的整數則不存在這種隱式轉換。還是讓我們用例子來說明。程式清單6-2:using System;enum Weekday{ Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};class Test{ public static void Main(){ Weekday day; day=0; Console.WriteLine(day); }
Time of Update: 2017-02-27
計算機是很多編程初學者都做過的,從最簡單的控制台程式開始,輸入值,輸入運算子,再輸入值,得到一個結果。帶介面的基本上是模仿 Windows作業系統的計算機,通過按鈕輸入值和運算子,然後給出運算結果。能不能直接輸入運算式,或者能夠對好幾個運算式進行計算,或者 選擇運算式中的一部分進行計算,如果輸入錯誤能不能指出運算式中的錯誤位置?這樣的要求類似於MS SQL的查詢分析器,本系列文章將介紹
Time of Update: 2017-02-27
1.什麼是託管函數託管函數是一個對類裡面的某個函數的一個引用。它自己並沒有具體的函數定義,只是指向某個函數實現。2.與C++,Delphi的橫向比較在C++和Delphi中與託管函數對應的類型是函數指標,形式如下:C++ typedef (int GetNum)(real rNum);Delphi function GetNum(rNum:real): integer;
Time of Update: 2017-02-27
1:利用System.Net.WebRequest的Create方法建立WebRequest對象:System.Net.WebRequest ObjWebRequest=System.Net.WebRequest.Create(urlP);異常類型:NotSupportedException:requestUri中指定的請求方案未註冊。ArgumentNullException:requestUri為空白引用(Visual
Time of Update: 2017-02-27
一、前面的話對於一些耗時型操作(如檔案下載),讓主線程去處理不是明智的選擇,雖然這樣做會使得程式開發起來很簡單。因為WinForm程式設計的 準則之一就是Responsive,即讓使用者覺得程式一直在工作,而不是感覺它在罷工(呵呵,事實上,程式不會罷工,只是你沒給他表現得機會, 如果它有情感,會覺得委屈死)。.Net FrameWork支援在程式用應用線程編程,這可以很好的解決上述問題,不過有時候直接使用Thread和 Threadstart顯得有些繁瑣也沒必要,為此.Net
Time of Update: 2017-02-27
這一節我們來學習集合,什麼是集合呢? 集合就如同數組,用來儲存和管理一組特定類型的資料對象,除了基本的資料處理功能,集合直 接提供了各種資料結構及演算法的實現,如隊列、鏈表、排序等,可以讓你輕易地完成複雜的資料操作。在使用數組和集合時要先加入 system.collections命名空間,它提供了支援各種類型集合的介面及類。集合本身上也是一種類型,基本上可以將其作為用來儲存一組資料對
Time of Update: 2017-02-27
先看代碼(以下代碼使用在C#,環境ASP.NET):protected void Page_Load(object sender, EventArgs e){test1("\a");test1(@"\a");test2("\a");test2(@"\a");test3("\a");test3(@"\a");test4("\a");test4(@"\
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
前言上一篇 C# 用Attribute實現AOP事務 [C# | AOP | Attribute | ContextAttribute | IContributeObjectSink | IMessageSink ]是實現或者說達到AOP效果的一種方式,其實最早設計在C#中使用AOP來完成事務的方案是準備用delegate的,但無奈不習慣用 這個玩意,也理解不深,後來被Attribute吸引了,這個方案就擱淺了,不過現在我又回來了 : ) 本文我們先來看一段代碼雛 形:class
Time of Update: 2017-02-27
大多數的死結都是因為代碼允許以不一致的方式鎖定資源。例如我們要將一個賬戶的資金轉到另一個賬戶中。Monitor類提供同步對對象的訪問的機制。類通過向單個線程授予對象鎖來控制對對象的訪問。對象鎖提供限制存取碼塊(通常稱為臨界區)的能力。當一個線程擁有對象的鎖時,其他任何線程都不能擷取該鎖。還可以使用Monitor來確保不會允許其他任何線程訪問正在由鎖的所有者執行的應用程式代碼節,除非另一個線程正在使用其他的鎖定對象執行該代碼。範例程式碼如下:public void Transer(Account
Time of Update: 2017-02-27
DirectShow組件在“C:\WINDOWS\system32”目錄下的Quartz.dll動態庫中,要使C#代碼引用COM對象和介面,必須將COM類型庫轉換為.NET架構中繼資料,從而有效地建立一個可以從任何託管語言調用的託管封裝。在轉換過程中需要使用FrameWork SDK內建的TlbImp命令工具,該命令工具在“D:\Program Files\Microsoft Visual Studio
Time of Update: 2017-02-27
大家好,相信大家都使用過代理IP上過網,但是有的IP一兩天就失效了。要一個一個的手工去試開啟IE,關閉IE,多煩啊。有了這篇文章就好了。我們可以使用HttpWebRequest,HttpWebResponse 來代理驗證,謝謝大家評論指導!呵呵,是不是很簡單啊,其實這段代碼改一下還可以做採集器,小偷等程式!我不說了大家自己看 public void yanzhen(string str, int port) { WebProxy proxyObject =
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
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