Time of Update: 2018-12-08
經常碰到同時需要對某個資料進行操作,或者對某個檔案進行讀寫操作,對於這些操作我們以前往往不能很好的進行處理,自從C#語言中引入了lock這個關鍵字,以上問題就比較容易予以解決了,下面就是一段簡單的代碼。複製代碼 代碼如下:public class AccessControl(){ private static object privateObjectLock = new object(); public static AccessResult() {
Time of Update: 2018-12-08
有個網站需要產生靜態頁。據以往經驗,凡比較爛的空間,短時間內運行耗能大的運算,都會出現“service
Time of Update: 2018-12-08
在這之前你可以判斷一下你想存在的檔案是否存在,如果存在就儲存,如果不存在就儲存寫入檔案代碼:StreamWriter wr = new StreamWriter(Server.MapPath("saveFile.txt"),false,System.Text.Encoding.Default); try { wr.Write("這裡是內容"); wr.Close(); Response.Write("<script>alert('檔案寫入成功'
Time of Update: 2018-12-08
Unix時間戳記最小單位是秒,開始時間為格林威治標準時間1970-01-01 00:00:00ConvertIntDateTime方法的基本思路是通過擷取本地時區表示Unixk開始時間,加上Unix時間值(即過去的秒數). ConvertDateTimeInt方法的基本思路是通過刻度數差,再把刻度數轉換為秒數,當然要說明的是,我這裡返回的是double類型,意義上並非是真正的Unix時間戳記格式。要擷取真正Unix時間戳記的,只擷取整數部分就可以了。複製代碼 代碼如下:dangranusing
Time of Update: 2018-12-08
Checked與Unchecked
Time of Update: 2018-12-08
有過C++開發經驗的人會發現,我們可以將0作為false,非零作為true。一個函數即使是bool類型的,但是我們還是可以返回int類型的,並且自動將0轉換成false,非零轉換成true。代碼執行個體如下:複製代碼 代碼如下:#include<iostream> #include<stdlib.h> using namespace std; bool fun()//函數傳回型別是bool,但是我們在函數中可以返回int類型。 { return 1; }
Time of Update: 2018-12-08
C/C++中的計時函數是clock(),而與其相關的資料類型是clock_t。在MSDN中,查得對clock函數定義如下: clock_t clock( void ); 這個函數返回從“開啟這個程式進程”到“程式中調用clock()函數”時之間的CPU時鐘計時單元(clock tick)數,在MSDN中稱之為掛鐘時間(wal-clock)。其中clock_t是用來儲存時間的資料類型,在time.h檔案中,我們可以找到對它的定義:#ifndef _CLOCK_T_DEFINEDtypedef
Time of Update: 2018-12-08
關鍵字概述很多朋友看到這兒可能會有疑問,往往其它講C語言的書籍都是從HelloWorld,資料類型開始C語言學習的,為什麼我們要從C語言的關鍵字開始呢?關於這點,我有兩點需要說明:本章節面向的讀者對象是有一定的C語言基礎知識的朋友(至少應該學習過大學裡的C語言程式設計等類似的課程)本章節結合了作者多年嵌入式工作、研究、教學經驗而作,由電腦底層硬體到上層軟體設計融會貫通,中間有大量的深入淺出的樣本在我對C語言進行培訓的時候,往往就是從C語言的關鍵字入手,因為C語言的關鍵字蘊含了C語言的全部的詞彙,
Time of Update: 2018-12-08
fopen(開啟檔案)相關函數 open,fclose表標頭檔 #include<stdio.h>定義函數 FILE * fopen(const char * path,const char * mode);函數說明 參數path字串包含欲開啟的檔案路徑及檔案名稱,參數mode字串則代表著流形態。mode有下列幾種形態字串:r 開啟唯讀檔案,該檔案必須存在。r+ 開啟可讀寫的檔案,該檔案必須存在。w
Time of Update: 2018-12-08
閑來無事,自己研究了泛型類的簡單的使用,where表示泛型約束,表示泛型型別中的參數只能是car類型,IEnumerable是一個介面,一個集合要支援FOREAch遍曆,必須實現IEnumerable介面複製代碼 代碼如下:public class Car { public string PetName; public int Speed; public Car(string name, int currentSpeed) {
Time of Update: 2018-12-08
(1)自訂泛型鏈表類。複製代碼 代碼如下:public class GenericList<T> { private class Node { //當前節點值 private T data; public T Data { get { return data; } set { data = value;
Time of Update: 2018-12-08
where 子句用於指定類型約束,這些約束可以作為泛型聲明中定義的型別參數的變數。1.介面約束。例如,可以聲明一個泛型類 MyGenericClass,這樣,型別參數 T 就可以實現 IComparable<T> 介面:複製代碼 代碼如下:public class MyGenericClass<T> where T:IComparable {
Time of Update: 2018-12-08
泛型型別參數簡介在定義泛型型別和泛型方法時,常用到泛型型別參數,泛型型別參數是在執行個體化泛型時指定類型的預留位置。泛型型別參數放在“<>”內。泛型型別參數命名建議:(1)當泛型型別參數為單個字母時,建議用T表示。(2)當泛型型別參數用單詞定義時,建議在單詞前加T。複製代碼 代碼如下:private void PromptName<T>(T t) {}private void PromptName<Tuser>(Tuser
Time of Update: 2018-12-08
HEX:複製代碼 代碼如下:#include <iostream.h>#include <iomanip.H>main(void){ long n = 10000; cout << hex << n ; return 0;}OCT:複製代碼 代碼如下:#include <iostream.h>#include <iomanip.H>main(void){ long n = 10
Time of Update: 2018-12-08
泛型類泛型類封裝不是特定於具體資料類型的操作。 泛型類最常用於集合,如連結清單、雜湊表、堆棧、隊列、樹等。 像從集合中添加和移除項這樣的操作都以大體上相同的方式執行,與所儲存資料的類型無關。對大多集合類的操作,推薦使用 .NET Framework 類庫中所提供的類。(1)泛型類可以繼承具體類、封閉式構造、開放式構造基類。複製代碼 代碼如下:class BaseNode { }class BaseNodeGeneric<T> { }// 繼承具體類class
Time of Update: 2018-12-08
最近一致致力於linux下的C開發,因為老大是某訊出來的。因此,使用的主要技術都是某訊的基本的後台架構思想。在這段時間,學習到了很多,然後佩服某訊的技術果然很厲害。因此,自我感覺,從頭開發我們這個項目,到現在,跟著我這個大牛級的老大學到了不少東西。目前在遊戲裡的公會系統,任務系統,郵件系統,地圖,商城,等等很多大大小小的系統,都是由我來負責了。下面是我最近總結的一點點東西而已,以後還會更多1、時間linux系統在時間上有比較多的東西。在遊戲裡,時間是一個非常重要的一個變數,涉及到前後端時間同步,
Time of Update: 2018-12-08
研究了一下,總算勉強能夠融會貫通了c寫成OOP還蠻有樂趣的編譯環境:Xcode3.2.3+gcc4.2複製代碼 代碼如下:#ifndef OBJECT_H#define OBJECT_Htypedef void (*Execute)(struct Object *a_This);typedef struct Object* (*Allocate)();typedef struct _Object_Vtable{ char *name; Execute
Time of Update: 2018-12-08
在c#中"??"為空白合并運算子,用於定義可空類型和參考型別的預設值。(1)如果此運算子的左運算元不為 null,則此運算子將返回左運算元;否則返回右運算元。例:a??b,當a為null時則返回b,a不為空白時返回a本身。(2)右運算元類型必須與左運算元類型相同,或者可以隱式的轉換為左運算元類型。否則編譯錯誤。(3)空合并運算子為右結合運算子,即操作時從右向左進行組合的。例:"a??b??c"的形式按"a??(b??c)"計算。
Time of Update: 2018-12-08
寫入文字檔複製代碼 代碼如下:class WriteTextFile { static void Main() { //如果檔案不存在,則建立;存在則覆蓋 //該方法寫入字元數組換行顯示 string[] lines = { "first line", "second line", "third line","第四行" };
Time of Update: 2018-12-08
前言以前在Code Complete 2nd(代碼大全2)這本書上看過說在像是C#這種類型語言中能不要用delegate就盡量不要用,多使用interface取代,以避免效能上的影響實踐出真理,所以我就寫了個小範例來測試我的硬體是2.66G 4核心CPU,記憶體4G我不知道是不是電腦比較快,以及我寫的函數太小的關係次數到了10000000次才看到有影響到了100000000次後看起來也是還好總而分析,還是會有影響需要高效運算或是在嵌入式中,應該還是要多注意一點代碼複製代碼 代碼如下:using