Time of Update: 2018-12-08
前端時間朋友要傳一些圖片給我,全是大圖,考慮到網速的限制,讓他處理片大小再給我,這廝居然不知道用什麼工具.為了娛樂寫了個截取圖片和壓縮圖片你的小工具 1.按照百分比 複製代碼 代碼如下:View Code /// <summary> /// 按照比例縮小圖片 /// </summary> /// <param name="srcImage">要縮小的圖片</param> /// <param
Time of Update: 2018-12-08
第一種是在頁面global.asax中,相關代碼如下: 複製代碼 代碼如下:void Application_BeginRequest(object sender, EventArgs e) { HttpContext context = ((HttpApplication)sender).Context; string oldurl = context.Request.Path.ToLower(); if ( ( oldurl.IndexOf("-") > 0 &&
Time of Update: 2018-12-08
作者在原文中說明了通過C#調用Javascript來解析Json字串的方法。代碼如下: 複製代碼 代碼如下:using Microsoft.JScript; using Microsoft.Vsa; using Microsoft.JScript.Vsa; public static Dictionary<string, string> GetMyValue(string jsonSource, string key1, string key2) {
Time of Update: 2018-12-08
複製代碼 代碼如下:using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; namespace ftponload { class Program { static void Main(string[] args) { //上傳檔案的方法 onload("D://outPut.txt"); //下載檔案的方法 fload(); } public
Time of Update: 2018-12-08
複製代碼 代碼如下:/// <summary> /// 得到真實IP以及所在地詳細資料(Porschev) /// </summary> /// <returns></returns> public string GetIpDetails() { //設定擷取IP地址和國家源碼的網址 string url = "http://www.ip138.com/ips8.asp"; string regStr =
Time of Update: 2018-12-08
1)傳值調用與引用調用 複製代碼 代碼如下:using System; class MethodCall { public static void Main() { /* * 參數類型分為 in, ref, out 三種,預設為 in。 * in 類型在子方法中修改了對應變數後,主方法中的值不會發生改變。 * ref 類型在子方法中修改了對應變數後,主方法中的值也會發生改變。 * out 主方法中對應的變數不需要初始化。 * */ int a = 1, b = 2, c;
Time of Update: 2018-12-08
C++對象可以使用兩種方式進行建立:建構函式和複製建構函式。假如我們定義了類A,並使用它建立對象。複製代碼 代碼如下:A a,b; A c=a; A d(b);對象a和b使用編譯器提供的預設建構函式A::A()建立出來,我們稱這種建立方式為對象的定義(包含聲明的含義)。對象c和d則是使用已有的對象,通過編譯器提供的複製建構函式A::A(const A&)建立,我們稱這種建立方式為對象的初始化(包含定義和聲明的含義)。可能不少人會把對象的初始化和對象的賦值混淆,比如。複製代碼
Time of Update: 2018-12-08
1. 這兩個方法,如果匹配成功,返回一個數組,匹配失敗,返回null。 2. 當RegExp的global屬性為false時,這兩個方法的返回數組是一樣的。 數組的第0個元素是整個pattern的第一個匹配字串,接下來的元素是pattern第一個匹配中的子匹配字串。 此外,數組還有index和input兩個額外屬性,index是匹配字串的起始位置,input是整個輸入字串。 此時,RegExp的lastIndex屬性一直是0。 demo: 複製代碼 代碼如下:var s =
Time of Update: 2018-12-08
這篇Blog仍然是以Google的官方文檔為主線,代碼執行個體則完全取自於我們正在開發的一個Demo項目,通過前一段時間的嘗試,感覺這種結合的方式比較有利於培訓和內部的技術交流。還是那句話,沒有最好的,只有最適合的。我想寫Blog也是這一道理吧,不同的技術主題可能需要採用不同的風格。好了,還是讓我們儘早切入主題吧。 一、產生目標語言代碼 下面的命令協助我們將MyMessage.proto檔案中定義的一組Protocol
Time of Update: 2018-12-08
1、局部變數能否和全域變數重名? 答:能,局部會屏蔽全域。要用全域變數,需要使用"::" 局部變數可以與全域變數同名,在函數內引用這個變數時,會用到同名的局部變數,而不會用到全域變數。對於有些編譯器而言,在同一個函數內可以定義多個同名的局部變數,比如在兩個迴圈體內都定義一個同名的局部變數,而那個局部變數的範圍就在那個迴圈體內。 2、如何引用一個已經定義過的全域變數? 答:extern
Time of Update: 2018-12-08
首先看下面一端代碼:複製代碼 代碼如下: #include <iostream> void swap( int &a,int &b) { int temp; temp=a; a=b; b=temp; } int main(int argc,char** argv) { int a=1,b=2; swap(a,b);
Time of Update: 2018-12-08
老是有些網站會屏蔽你的滑鼠右鍵或者用快速鍵複製,其實只是一段js代碼,解決的方法就是直接把網頁儲存下來然後刪掉下面這段js代碼,然後就可以正常用右鍵菜單了。 當然,也可以通過設定瀏覽器的安全層級到最進階別來解決問題。 複製代碼 代碼如下:<script> document.oncontextmenu = function(){ return false; } document.onkeydown = function(){ if (event.ctrlKey &&
Time of Update: 2018-12-08
可能不太熟悉,也有可能沒有去關心過。我們只關心程式能否正確運行,或者程式怎麼實現等等一些問題。 這裡筆者就為介紹下我們熟悉又不太熟悉的“#include”,首先我們瞭解下C/C++標頭檔。 標頭檔為相關聲明提供了一個集中存在的位置。標頭檔一般包含類的定義,extern變數聲明與函式宣告。注意這裡聲明與定義的區別:它們最本質的區別是定義只可以出現一次,聲明可以出現多次。聲明不分配空間,而定義是要分配空間的。標頭檔正確使用可以保證所有檔案使用給定實體的同一聲明;當聲明需要修改時,只有標頭檔需要更新。
Time of Update: 2018-12-08
如果你覺得重新編譯檔案的時間很短或者時間長一點無所謂,反正需要重新編譯,那麼你也可以選擇略過此文,不過也建議瀏覽。如果你想學習或者關心這塊內容,那麼此文必定會給你帶來收穫。首先我不給出依存關係的定義,我給出一個例子。複製代碼 代碼如下: class Peopel{ public: People(const std::string & name,const Date& brithday,Image Img) std::string name( ) const;
Time of Update: 2018-12-08
1.盡量用類的非成員函數以及友元函數替換類的成員函數 例如一個類來類比人People 複製代碼 代碼如下:1 class People{ 2 public: 3 ... 4 void Getup( ); 5 void Washing( ); 6 void eating( ); 7 ... 8 } 其實上面三個動作是早上“起床”、“洗簌”、“吃飯”三個常見的動作,如果現在用一個函數來表示使用成員函數即為 複製代碼 代碼如下:1 class People 2 { 3 ... 4 void
Time of Update: 2018-12-08
我們在做web測試時,經常會使用WebBrowser來進行一些自動化的任務。而有些網頁上面會用IFrame去嵌套別的頁面,這些頁面可能不是在相同網域名稱下的,這時就會出現跨域問題,無法直接在WebBrowser中擷取到IFrame中的元素。下面來做個實驗,自己寫個頁面嵌套一個百度的首頁,然後在我們自己的頁面上輸入要查詢的詞,最後在百度上自動完成搜尋。 複製代碼 代碼如下:<!DOCTYPE html> <html lang="en"
Time of Update: 2018-12-08
複製代碼 代碼如下:// this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主表單InitializeComponent()方法中需要添加的引用 private void Form1_SizeChanged(object sender, EventArgs e) { if (this.WindowState==FormWindowState.Minimized) { this.Hide();
Time of Update: 2018-12-08
什麼是遞迴函式/方法? 任何一個方法既可以調用其他方法也可以調用自己,而當這個方法調用自己時,我們就叫它遞迴函式或遞迴方法。 通常遞迴有兩個特點: 1. 遞迴方法一直會調用自己直到某些條件被滿足 2. 遞迴方法會有一些參數,而它會把一些新的參數值傳遞給自己。 那什麼是遞迴函式?函數和方法沒有本質區別,但函數僅在類的內部使用。以前C#中只有方法,從.NET 3.5開始才有了匿名函數。 所以,我們最好叫遞迴方法,而非遞迴函式,本文中將統一稱之為遞迴。
Time of Update: 2018-12-08
假如我們想要從一個整型數組中取出其中是奇數的選項,其實現方式有很多,我們通過下面三種實現方式來對對比理解Lambda運算式的用途 方法一:命名方法 複製代碼 代碼如下:public class Common { public delegate bool IntFilter(int i); public static List<int> FilterArrayOfInt(int[] ints, IntFilter filter) { var lstOddInt = new
Time of Update: 2018-12-08
本文主要記錄的是C#各種集合操作的效能,下面的標記說明描述標記的時間,下面的表格對比各種集合各種操作的時間. 標記說明: 1.O(1) 表示無論集合中有多少項,這個操作需要的時間都不變,例如,ArraryLIst的Add()方法就O(1), 無論集合中有多少元素,在列表尾部添加一個新的元素的時間都是相同的. 2. O(n)表示對於集合中的每個元素,需要增加的時間量都是相同的,如果需要重新給集合分