Time of Update: 2017-01-18
TCPServer 1、使用的通訊通道:socket2、用到的準系統:①Bind,②Listen,③BeginAccept④EndAccept⑤BeginReceive ⑥EndReceive3、函數參數說明 Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
Time of Update: 2017-01-18
A-PC端:1-頁面--multiple是控制單張還是多張圖片上傳<input id="BusRoute" type="file" class="btn btn-default btn-lg" style="height:34px;padding-top:5px;padding-bottom:5px;" multiple />2-後台擷取圖片檔案:HttpFileCollection pcFileColl =
Time of Update: 2017-01-18
C# var關鍵字詳解var 是3.5新出的一個定義變數的類型 其實也就是弱化類型的定義 VAR可代替任何類型 編譯器會根據上下文來判斷你到底是想用什麼類型的 至於什麼情況下用到VAR 我想就是你無法確定自己將用的是什麼類型 就可以使用VAR 類似 OBJECT 但是效率比OBJECT高點。或者通俗的講: var可以理解為匿名型別,我們可以認為它是一個聲明變數的預留位置。它主要用於在聲明變數時,無法確定資料類型時使用。使用var定義變數時有以下四個特點:1.
Time of Update: 2017-01-18
話不多說,跟著小編來看下實現代碼吧 static void Main(string[] args) { for (int i = 1; i < 10; i++) { for (int s = 1; s <= i; s++) { Console.Write(s + "*" + i + "=" + i * s + " "); if (i == s) { Console.Write("\n");
Time of Update: 2017-01-18
前提由於工作的原因,經常需要對海量資料進行處理,做的資料爬蟲相關,動輒千萬層級的資料,單表幾十個G都是都是家常便飯。 主要開發語言是C#,資料庫使用的是MySQL。最常見的操作便是 select 讀取資料,然後在C#中對資料進行處理, 完畢後再插入資料庫中。 簡而言之就 select -> process -> insert三個步驟。 對於資料量小的情況下(百萬層級 or 幾百兆)可能最多1個小時就處理完了。但是對於千萬級資料可能幾天,甚至更多。
Time of Update: 2017-01-18
之前在leetcode中進行string和int的轉化時使用過istringstream,現在大致總結一下用法和測試案例。介紹:C++引入了ostringstream、istringstream、stringstream這三個類,要使用他們建立對象就必須包含sstream.h標頭檔。istringstream類用於執行C++風格的串流的輸入操作。ostringstream類用於執行C風格的串流的輸出操作。stringstream類同時可以支援C風格的串流的輸入輸出操作。下圖詳細描述了幾種類之間的
Time of Update: 2017-01-18
目前為止,許多程式設計語言和工具都包含對Regex的支援,C#也不例外,C#基礎類庫中包含有一個命名空間(System.Text.RegularExpressions)和一系列可以充分發揮規則運算式威力的類(Regex、Match、Group等)。那麼,什麼是Regex,怎麼定義Regex呢?一、Regex基礎什麼是Regex在編寫字串的處理常式時,經常會有尋找符合某些複雜規則的字串的需要。Regex就是用於描述這些規則的工具。換句話說,Regex就是記錄文本規則的代碼。通常,我們在使用WIND
Time of Update: 2017-01-18
我們知道:C++中的多態使得可以根據對象的真實類型(動態類型)調用不同的虛函數。這種調用都是對象已經構建完成的情況。那如果在建構函式中調用虛函數,會怎麼樣呢?有這麼一段代碼:class A{public: A ():m_iVal(0){test();} virtual void func() { std::cout<<m_iVal<<‘ ';} void test(){func();}public:int m_iVal;};class B : public
Time of Update: 2017-01-18
有幾條不同的處理器資訊,您可以獲得有關的資訊:物理處理器數量、核心數量和邏輯處理器數量,這些可以不同。兩顆雙核超執行緒(啟用)處理器的機器情況下有:2個物理處理器、4個核心和8個邏輯處理器。邏輯處理器數是可通過Environment類擷取,但其他資訊都是只可通過WMI(您可能需要安裝一些Hotfix或服務包)擷取:物理處理器:foreach (var item in new System.Management.ManagementObjectSearcher("Select * from
Time of Update: 2017-01-18
之前看《C++ Primier》的時候,也解到在順序型視窗裡insert/erase會涉及到迭代器失效的問題,並沒有深究。今天寫程式的時候遇到了這個問題。1 莫名其妙的Erase最初我的程式是醬紫的,別說話,我知道這樣是有問題的,可這樣是最直觀的想法int arr[]={0,1,2,3,4,5,6,7,8,9,10}; vector<int> a(arr,arr+sizeof(arr)/sizeof(*arr));for (auto it = a.begin(); it !=
Time of Update: 2017-01-18
UdpClient 類提供了一些簡單的方法,用於在阻止同步模式下發送和接收無串連 UDP 資料報。 因為 UDP 是無串連傳輸協議,所以不需要在發送和接收資料前建立遠程主機串連。但您可以選擇使用下面兩種方法之一來建立預設遠程主機: 使用遠程主機名稱和連接埠號碼作為參數建立 UdpClient 類的執行個體。 建立 UdpClient 類的執行個體,然後調用 Connect 方法。可以使用在 UdpClient 中提供的任何一種發送方法將資料發送到遠程裝置。 使用 Receive
Time of Update: 2017-01-18
之前在開發一個程式,希望能夠通過屬性名稱讀取出屬性值,但是由於那時候不熟悉反射,所以並沒有找到合適的方法,做了不少的重複性工作啊!然後今天我再上網找了找,被我找到了,跟大家分享一下。其實原理並不複雜,就是通過反射利用屬性名稱去擷取屬性值,以前對反射不熟悉,所以沒想到啊~不得不說反射是一種很強大的技術。。下面給代碼,希望能幫到有需要的人。using System;using System.Collections.Generic;using System.Linq;using
Time of Update: 2017-01-18
在工作中,如果需要跟XML打交道,難免會遇到需要把一個類型集合轉換成XML格式的情況。之前的方法比較笨拙,需要給不同的類型,各自寫一個轉換的函數。但是後來接觸反射後,就知道可以利用反射去讀取一個類型的所有成員,也就意味著可以替不同的類型,建立更通用的方法。這個例子是這樣做的:利用反射,讀取一個類型的所有屬性,然後再把屬性轉換成XML元素的屬性或者子項目。下面注釋比較完整,就話不多說了,有需要看代碼吧!using System;using
Time of Update: 2017-01-18
話不多說,跟著小編一起來看下吧using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlTypes;using System.Data;using System.Reflection;using System.IO;using System.Xml;namespace CollectionToXml{ class Program { static
Time of Update: 2017-01-18
在開發程式的過程中,難免少不了寫入錯誤記錄檔這個關鍵功能。實現這個功能,可以選擇使用第三方日誌外掛程式,也可以選擇使用資料庫,還可以自己寫個簡單的方法把錯誤資訊記錄到記錄檔。選擇最後一種方法實現的時候,若對檔案操作與線程同步不熟悉,問題就有可能出現了,因為同一個檔案並不允許多個線程同時寫入,否則會提示“檔案正在由另一進程使用,因此該進程無法訪問此檔案”。這是檔案的並發寫入問題,就需要用到線程同步。而微軟也給線程同步提供了一些相關的類可以達到這樣的目的,本文使用到的
Time of Update: 2017-01-18
前言TextBox組件(文字框組件)是一種常用的,也是比較容易掌握的組件。應用程式主要使用它來接收使用者於輸入文字資訊。在Visual C# 中,多行文字框使用的也是 TextBox,只不過其 Multiline 屬性為 true。要注意,其仍然有字數限制,MaxLength 屬性預設值是 32767。MaxLength 表示什嗎?它代表的是字數,並不是位元組數。超過會怎麼樣?超過的話:錄入、粘貼就會丟掉多餘的部分,也不會報錯。但用程式添加文字不會丟掉多餘的部分。想要不受限怎麼辦?將
Time of Update: 2017-01-18
你會建立c:\con.txt嗎?--windows檔案系統漏洞唉,寫完了前面的廢話頭都昏了,有錯誤及時告訴我哦。----------------------------如果你在想con.txt不是很正常嗎?那好,你先去建立下,只要帶有獨立的con字樣的檔案就好,然後悟出什麼了再看這篇文章(如果你用linux或者mac或者unix那就算了)。呵呵,正常來說帶有con、prn、com1這樣字眼的檔案或目錄是不能建立的(原因自己找),但我想到了以前在安全焦點的一篇文章,是教你建立帶"\"的檔案夾的。當
Time of Update: 2017-01-18
C++ 初始化列表何謂初始化列表與其他函數不同,建構函式除了有名字,參數列表和函數體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化欄位。在C++中,struct和class的唯一區別是預設的訪問性不同,而這裡我們不考慮訪問性的問題,所以下面的代碼都以struct來示範。struct foo{ string name ; int id ; foo(string s, int i):name(s), id(i){} ; //
Time of Update: 2017-01-18
一、Pair類型概述pair是一種模板類型,其中包含兩個資料值,兩個資料的類型可以不同,基本的定義如下:pair<int, string> a;表示a中有兩個類型,第一個元素是int型的,第二個元素是string類型的,如果建立pair的時候沒有對其進行初始化,則調用預設建構函式對其初始化。pair<string, string> a("James",
Time of Update: 2017-01-18
今天重溫C++的知識,當看到虛基類這點的時候,那時候也沒有太過追究,就是知道虛基類是消除了類繼承之間的二義性問題而已,可是很是好奇,它是怎麼消除的,記憶體布局是怎麼分配的呢?於是就深入研究了一下,具體的原理如下所示:在C++中,obj是一個類的對象,p是指向obj的指標,該類裡面有個資料成員mem,請問obj.mem和p->mem在實現和效率上有什麼不同。答案是:只有一種情況下才有重大差異,該情況必須滿足以下3個條件:(1)、obj