Time of Update: 2018-12-07
本來是想實現控制台程式運行時自動全屏,但是只找到VC下的實現方法(http://www.vckbase.com/bbs/prime/viewprime.asp?id=347)。其中要使用兩個未公開的Win32 API函數來存取控制台視窗,這就需要使用動態調用的方法,動態調用中使用的Windows API函數主要有三個,即:Loadlibrary,GetProcAddress和Freelibrary。步驟如下:1. Loadlibrary: 裝載指定DLL動態庫2.
Time of Update: 2018-12-07
C#只提供了直接操作串口的類,如果直接操作並口的話需要調用API函數: using System.Runtime.InteropServices; string sendData = "^xa^fo50,80^adn,36,20^fdTRW EOL2^fs^xz "; //Zebra 印表機命令格式 [DllImport( "kernel32.dll ")] private static
Time of Update: 2018-12-07
static class Program { private const int WS_SHOWNORMAL = 1; [DllImport("User32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); [DllImport("User32.dll")] private static extern bool
Time of Update: 2018-12-07
目錄1. 使用者賬戶名稱 - 使用Environment類 2. 使用者賬戶資訊 - 使用WindowsIdentity和IdentityReference 3. 使用IPrincipal判斷使用者賬戶類型(支援使用者賬戶控制(UAC)提示) 返回目錄 1. 使用者賬戶名稱 -
Time of Update: 2018-12-07
首先由於該方法用LinkDemand檢查SecurityPermissionAttribute.SerializationFormatter許可權,因此部分受信任環境下可能無法使用。該方法相比Deserialize方法有更好的效能。 代碼://+ using System.Runtime.Serialization.Formatters.Binary//+ using System.IO; //建立一個100個元素的字典var dic = new Dictionary<int,
Time of Update: 2018-12-07
這兩個方法和SignData和VerifyData是等價的,只不過傳入的參數是雜湊值而不是未經處理資料。也就是說SignData中RSA加密的雜湊值函數是自己計算的。而SignHash需要我們來計算然後傳入參數。 唯一一點需要注意的是,SignHash(和VerifyHash)方法需指定的雜湊演算法雖然是字串對象,但其是以雜湊演算法標識符 (OID) 的形式。所以需要另外一個方法就是:CryptoConfig.MapNameToOID來專門的一個雜湊演算法類型字串轉換成雜湊演算法標識符
Time of Update: 2018-12-07
今兒看到兩位同學在討論GetHashCode方法的執行,貌似他們的對象等同性判斷挺複雜的,而又想把同樣的邏輯寫在GetHashCode中,然後激烈的討論著用什麼演算法讓GetHashCode返回的整數更具唯一性。我覺得簡而言之GetHashCode的作用就是:盡量用最快的時間對對象進行初步判斷。當然這裡時間的快慢和判斷的深度沒有具體要求,只要沒有走極端就可以(比如太費時間,或者判斷深度太淺)。因此沒必要吧GetHashCode搞得太複雜!還有人錯誤的認為字典的儲存是完全靠GetHashCode的
Time of Update: 2018-12-07
當我用三種方式建立同一個國家的RegionInfo後,本以為他們都相等,可沒想到事實並不是這樣,來看代碼:用”zh-cn”,”cn”和2052(LCID)建立中國的RegionInfo。然後看看他們是不是都相等。var regions = new RegionInfo[]{ new RegionInfo("zh-cn"), new RegionInfo("CN"), new RegionInfo(2052)}; Console.WriteLine(regions.All(r =
Time of Update: 2018-12-07
C# 提供大量運算子,這些運算子是指定在運算式中執行哪些操作的符號。通常允許對枚舉進行整型運算,例如 ==、!=、<、>、<=、>=、binary +、binary -、^、&、|、~、++、-- 和 sizeof()。此外,很多運算子可被使用者重載,由此在應用到使用者定義的類型時更改這些運算子的含義。下表列出了按優先順序順序分組的 C# 運算子。每個組中的運算子具有相同的優先順序。運算子類別 運算子
Time of Update: 2018-12-07
using System;using System.CodeDom.Compiler;using Microsoft.CSharp;using System.Reflection;using System.Text;namespace ConsoleApplication1{ /// <summary> /// Class1 的摘要說明。 /// </summary> class Class1 { /// <summary> /// 應用程式的主進入點。
Time of Update: 2018-12-07
Installer1.cs CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
string url1 = @"http://login.vancl.com/Login/"; //提交註冊資訊的網址 string url2 = @"http://my.vancl.com/User/User_Order_List.aspx"; //需要下載的網頁 string indata =
Time of Update: 2018-12-07
修改註冊表後不重啟電腦邊生效。const int WM_SETTINGCHANGE = 0x001A;const int HWND_BROADCAST = 0xffff;IntPtr result1;public enum SendMessageTimeoutFlags : uint{SMTO_NORMAL = 0x0000,SMTO_BLOCK = 0x0001,SMTO_ABORTIFHUNG = 0x0002,SMTO_NOTIMEOUTIFNOTHUNG =
Time of Update: 2018-12-07
文章目錄 1. 一般型別系統2. 實值型別3. 參考型別4. 實值型別和參考型別在記憶體中的部署5. 正確使用實值型別和參考型別6. 總結 從概念上看,實值型別直接儲存其值,而參考型別儲存對其值的引用。這兩種類型儲存在記憶體的不同地方。在C#中,我們必須在設計類型的時候就決定類型執行個體的行為。這種決定非常重要,用《CLR via C#》作者Jeffrey
Time of Update: 2018-12-07
二叉樹結點類:插入代碼的頁面打不開,所以直接這樣粘代碼了 :( public class Node { private Node left; private Node right; private int value; public Node(Node left, Node right, int value) { this.left = left; this.right =
Time of Update: 2018-12-07
本書翻譯目的為個人學習和知識共用,其著作權屬原作者所有,如有侵權,請告知本人,本人將立即對發帖採取處理。允許轉載,但轉載時請註明本著作權聲明資訊,禁止用於商業用途!部落格園:韓現龍 Introducing to Microsoft LINQ目錄 本節內容比較少。瀏覽一下即可了。 C#3.0中有一些在VB9中沒有的屬性,即yield關鍵字和匿名方法(anonymous
Time of Update: 2018-12-07
文章目錄 本書翻譯目的為個人學習和知識共用,其著作權屬原作者所有,如有侵權,請告知本人,本人將立即對發帖採取處理。允許轉載,但轉載時請註明本著作權聲明資訊,禁止用於商業用途!部落格園:韓現龍 Introducing to Microsoft LINQ目錄 不必通過學習LINQ來全面理解C# 3.0語言的增強部分。例如,(LINQ)這個新的語言特性中沒有一項涉及到CLR變更。LINQ需要新的編譯器(C# 3.0 或是
Time of Update: 2018-12-07
1. 水晶易表不能識別WS介面返回的DataTable或DataSet資料類型,會提示“無法載入URL”3. C#調用Oracle的Package,並返回資料列表2. 經查證,可以接受string類型的,如果需要返回資料列表,那麼需要藉助數組來返回,代碼實現如下:public WeekSale_Table GetData(string skc1, string skc2, string week1, string week2, string week3, string week4)
Time of Update: 2018-12-07
ComVisible特性很好理解,指定類型可以被COM類庫使用,tlbexp.exe會根據ComVisible來產生相應類型的資料。ComVisible特性也可以針對程式集或者類型成員。 而ComImport特性正好是於此相反的,發生在tlbimp.exe在匯入COM類型類庫的時候,產生的託管類型會標記有ComImport特性,同時還會有Guid特性因為COM類型用GUID標識。比如我們手動建立一個Microsoft Internet
Time of Update: 2018-12-07
注意:SecurityAction.RequestMinimum,RequestOptional,RequestRefuse在.NET 4.0後已被廢棄。不過其在.NET