Time of Update: 2018-12-05
URL 重寫是截取傳入 Web 請求並自動將請求重新導向到其他 URL 的過程。 比如瀏覽器發來請求hostname/101.aspx ,伺服器自動將這個請求中定向為http://hostname/list.aspx?id=101。url重寫的優點在於: 縮短url,隱藏實際路徑提高安全性 易於使用者記憶和鍵入。 易於被搜尋引擎收錄二 實現url重寫的基本方法
Time of Update: 2018-12-05
入門書籍對switch語句的介紹相對較淺,我也因此而產生了很多想當然的誤解。為解惑而寫了以下一小篇精解switch語句,相信會對很多朋友有所協助,同時順便補充一些相關知識。先拋出個題目,見下程式://原代碼出自《C語言參考手冊(原書第5版)》//為了表達我的意圖,特做了部分改動switch(x){default:if(prime(x)){case 2: case 3: case 5: case 7:process_prime(x);}else{case 4: case 6: case 8:
Time of Update: 2018-12-05
C++規則的設計目標之一是,保證“類型錯誤絕對不會發生”。轉型會破壞類型系統。舊式轉型風格:(T)express;T(express);新式轉型:1、 const_cast<T>(expression)。單一對象可能擁有一個以上的地址,分別是以基類指標指向和子類指標指向。由於知道“對象如何布局”設計的轉型可能在某一平台上可以,但是其他的平台上卻不可以。請記住:1、 如果可以,盡量避免轉型,特別是在注重效率的代碼中避免dynamic_casts。如果有個設計需要轉型動作,請考慮無需轉型
Time of Update: 2018-12-05
http://hi.baidu.com/yebihaigsino/blog/item/36e4ea6f864743d281cb4ad9.htmlhttp://hi.baidu.com/devzhao/blog/item/3f527e435e91de149313c6b7.html方法一:異常判斷法(根據返回結果形式)// 使用地方private void buttonOk_Click(object sender, EventArgs e){ if
Time of Update: 2018-12-05
What is software architecture? The answer is multitiered. At the highest level, there are the architecture patterns that define the overall shape and structure of software applications. Down a level is the architecture that is specifically related
Time of Update: 2018-12-05
C語言先通過srand()函數產生隨機數種子,然後調用rand()來產生一個隨機數,因為C語言產生的隨機數時偽隨機數,並不是真正意義上的隨機數,使用的是固定的演算法來得到這些隨機數,所以如果種子seek相同,每次就會產生同一批隨機數。 問題2: 我按照上述方法並不能產生隨機數,僅產生公差為3或4的等差數列: #include <stdlib.h> #include <iostream.h> #include <conio.h>
Time of Update: 2018-12-05
這句話起什麽作用?條件總為假,用來跳過某些程式碼片段,編譯時間跳過#if 0與#endif之間的代碼,該語句導致#if 0---#endif之間的語句不會被編譯,他是一條先行編譯語句。 當注釋掉大塊代碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的注釋要防止被注釋掉的代碼中有嵌套的"/**/",這會導致注釋掉的代碼地區不是你想要的範圍, 當被注釋掉的代碼很大時容易出現這種情況,特別是過一段時間後又修改該處代碼時更是如此。
Time of Update: 2018-12-05
今天利用共同體變數寫了一個小程式要求:有若干人員的資料,其中有學生和教師。學生的資料包括姓名、號碼、性別、職業、班級。教師資料包括姓名、號碼、性別、職業、職務。要求用同一個表格來處理。編譯通過後運行程式,發現輸出有問題,通過調試發現問題出現在scanf語句中,原本的scanf語句為scanf("%d %s %c %c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);調試過程發現此處輸入1
Time of Update: 2018-12-05
本文轉載於:CS架構網http://www.csframework.com/archive/2/arc-2-20110829-1811.htmC#.Net組件開發 - 使用Attach to ProcessJust-in-Time 偵錯設計器代碼組件設計的偵錯項目為兩個:一是我們關注的組件本身(Component/Control),二是組件的設計器(Component Designer/Control
Time of Update: 2018-12-05
由於windows服務安裝時,系統會自動將windows服務的程式檔案複製到系統目錄下,通常是System32目錄下,windows服務的運行目錄就是系統目錄,有時候,windows服務在運行時需要知道自己的安裝目錄,比如,windows服務運行時所需要的一些資源檔,通常可能是一些聲音或影像檔,這些資源檔是位於安裝目錄下的,只有windows服務知道了安裝目錄,才能對這些資源檔進行訪問,那麼windows服務如何知道自己的安裝目錄的資訊呢,一種比較簡單的做法是通過訪問註冊表。如,是一個名字叫Ma
Time of Update: 2018-12-05
[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)] static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow); [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)] public static
Time of Update: 2018-12-05
/// <summary> /// 使用DES加密字串 /// </summary> /// <param name="stringToEncrypt">待加密字串</param> /// <param name="strKEY">8位字元加密金鑰</param> /// <returns></returns> public
Time of Update: 2018-12-05
在c#中用到了狀態列控制項StatusStrip,但當我想把StatusStrip上某個StatusLabel靠右對齊時出了問題。按照MSDN中的辦法,是設定ToolStripStatusLabel的Alignment屬性為Right。不過我在設計介面的屬性視窗中找不到Alignment。就算加入代碼toolStripStatusLabel2.Alignment = ToolStripItemAlignment.Right;
Time of Update: 2018-12-05
避免子類中public函數的名稱和和繼承而來的名稱相同。根據命名規則尋找條件,類似於全域變數和局部變數同名是全域變數失效一樣,當子類中的名稱和積累中的名稱相同時,基類的名稱就會實現,不管子類的名稱是private還是public。而與此同時,和這個名稱相同而參數不同的名稱也會被屏蔽。可以使用usingbase:名稱來解決這個問題。但是,最好的不要重名。請記住:1) derived class內的名稱會遮掩base
Time of Update: 2018-12-05
#region 儲存對話方塊private void ShowSaveFileDialog(){//string localFilePath, fileNameExt, newFileName, FilePath; SaveFileDialog sfd = new SaveFileDialog();//設定檔案類型 sfd.Filter = "Database
Time of Update: 2018-12-05
這樣做有兩個問題:a) 降低對象的封裝性。把內部結構暴露在外面。b) 調用const函數,但是仍然可以更改對象。有一個辦法可以解決第二個問題,即返回的handles加上一個const限制,這樣就可以更改返回的對象了。另外,也會有一個新的問題——danglinghandles(懸空的號碼牌)。如果handles指向的指標已經釋放,但是返回的handles卻無法知道。請記住:避免返回handles(包括reference,指標,迭代器)指向對象內部。遵守這個條款可以增加封裝性,協助
Time of Update: 2018-12-05
std::swap是一個模板,他提供的是置換操作,即將同一類型對象a,b互換內部值。swap操作要求對象支援copying建構函式和copying賦值函數,在內部操作上,他使用了三個賦值對象。這裡有一個問題,就是對於特定的對象,它的效率會非常的低。所以我們要針對特定的對象進行特殊的swap。總結:1、 如果swap的預設實現碼對你的class或者class
Time of Update: 2018-12-05
代碼:using System.Runtime.InteropServices;public class INIClass { //ini檔案的路徑名稱 public string inipath; // 聲明INI檔案的寫操作函數 WritePrivateProfileString() [DllImport("kernel32")] private static extern long
Time of Update: 2018-12-05
前言:異常機制是作為語言的新特性加入c++的,java的異常處理就是源自於c++的異常處理。儘管異常引入c++很久了,但是c++社區還是有很多人寫程式的時候不使用異常,還有人根本不知道如何正確使用異常。至今沒有一種公認的常規技術,使得異常拋出的時候,軟體能哦與更可預測和穩定的行為。 異常不是邏輯錯誤,這一點無比要搞清楚。程式在異常存在的情況下啟動並執行很好是因為它們就是這麼設計的,而不是碰巧啟動並執行很好。異常安全的代碼並不是靠運氣寫出來的,一個設計時沒有考慮異常機制的軟體在異常發生的時候能夠正
Time of Update: 2018-12-05
可以用正則表達來寫 供你參考下using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;namespace ConsoleApplication17{ class Program { static void Main(string[] args) {