C#winfrom中應用程式只啟動一次代碼

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

淺談.NET(C#)與Windows使用者賬戶資訊的擷取

 目錄1. 使用者賬戶名稱 - 使用Environment類 2. 使用者賬戶資訊 - 使用WindowsIdentity和IdentityReference 3. 使用IPrincipal判斷使用者賬戶類型(支援使用者賬戶控制(UAC)提示)   返回目錄 1. 使用者賬戶名稱 -

.NET(C#):使用BinaryFormatter.UnsafeDeserialize增加還原序列化效能

首先由於該方法用LinkDemand檢查SecurityPermissionAttribute.SerializationFormatter許可權,因此部分受信任環境下可能無法使用。該方法相比Deserialize方法有更好的效能。 代碼://+ using System.Runtime.Serialization.Formatters.Binary//+ using System.IO; //建立一個100個元素的字典var dic = new Dictionary<int,

.NET(C#):RSA的SignHash和VerifyHash

這兩個方法和SignData和VerifyData是等價的,只不過傳入的參數是雜湊值而不是未經處理資料。也就是說SignData中RSA加密的雜湊值函數是自己計算的。而SignHash需要我們來計算然後傳入參數。 唯一一點需要注意的是,SignHash(和VerifyHash)方法需指定的雜湊演算法雖然是字串對象,但其是以雜湊演算法標識符 (OID) 的形式。所以需要另外一個方法就是:CryptoConfig.MapNameToOID來專門的一個雜湊演算法類型字串轉換成雜湊演算法標識符

.NET(C#):GetHashCode不需要太複雜!

今兒看到兩位同學在討論GetHashCode方法的執行,貌似他們的對象等同性判斷挺複雜的,而又想把同樣的邏輯寫在GetHashCode中,然後激烈的討論著用什麼演算法讓GetHashCode返回的整數更具唯一性。我覺得簡而言之GetHashCode的作用就是:盡量用最快的時間對對象進行初步判斷。當然這裡時間的快慢和判斷的深度沒有具體要求,只要沒有走極端就可以(比如太費時間,或者判斷深度太淺)。因此沒必要吧GetHashCode搞得太複雜!還有人錯誤的認為字典的儲存是完全靠GetHashCode的

.NET(C#):RegionInfo令人費解的Name和Equals

當我用三種方式建立同一個國家的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 =

.NET(C#):淺談ISerializable序列化與類更新與繼承

當使用Serializable特性,如果類有更新(但有要求和以前序列化的類對象保持相容),可以使用OptionalField特性來標記新加的欄位。至於Serializable特性在類繼承上,問題不會很大,只要父類被標記Serializable特性,那麼子類就可以序列化父類的內容。 而對於ISerializable介面,由於序列化和還原序列化都得自己動手,那麼處理類更新和繼承問題就會稍複雜一些。 比如版本更新,我們可以在SerializationInfo中加入自己的版本資訊,在還原序列化中再根據不

.NET(C#):序列化中的StreamingContext結構體

StreamingContext類型出現在諸多序列化的方法中。ISerializable的GetObjectData和特殊的建構函式(用於還原序列化)。還有[OnDeserialized], [OnDeserializing], [OnSerialized],

Visual Basic Visual J# C++ C# NEW JScript Visual FoxPro

Visual Basic Visual J# C++ C# NEW JScript Visual FoxPro  加法        加運算  +  +  +  +  +  +  減運算  -  -  -  -  -  -  乘法        乘運算  *  *  *  *  *  *  除運算  /  /  /  /  /  /  整數除法  \  n/a   / 1    模數(僅返回餘數的除法)  Mod  %  %  %  %(也可以處理浮點)  %; Mod  冪  ^  n/a  

C# 偽造 referer 提交資料

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> private string SendRequest(string account, string cardNumber, string cardPass)     {         string targetUrl = https://xxx.com/;//要提交資料的目標網站          

C# 設定DateTime類型的變數值等於Null

做一個項目時,有個日期欄位客戶可輸入可不輸入值,直接把DateTime=Null時會出錯,提示錯誤:      無法將 NULL 轉換成"System.DateTime",因為它是一種實值型別 在網上查看下相關資料後,找到處理辦法:Nullable<DateTime> now = DateTime.Now;Nullable<DateTime> now = null;當然也可以縮寫:DateTime? now = DateTime.Now;DateTime? now =

在C#單元測試中使用HttpContext的簡單解決辦法

情境:最近在測試一個.NET的Http Module,這個Module是用來做URL重寫的。剛開始進展的比較順利,因為該Module裡面的方法參數基本上都是String,後來這個Module進行了一下重構,所有參數都變成了HttpContext了,這就直接導致原來的單元測試都跑不起來了,接著就開始了弄HttpContext了。1. 採用Visual

水晶易表調用C#的WebService,返回資料集合

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)

C#通過Activex實現Web用戶端讀取RFID

 由於要在Web項目中採用RFID讀取功能,所以有必要開發Activex,一般情況下開發Activex都採用VC,VB等,但對這兩塊不是很熟悉,所以採用C#編寫Activex的方式實現。本文方法參考網路1.編寫WindowsFromControls2.發布WindowsFormControls為Activex3.在web中使用該Activex 首先編寫windows控制項如何編寫不再詳述(注意一個地方,GUID自己用vs工具產生一個,下面會用到。我的0CBD6597-3953-4B88-8C9F

.NET(C#):ComImport特性和ComVisible特性

ComVisible特性很好理解,指定類型可以被COM類庫使用,tlbexp.exe會根據ComVisible來產生相應類型的資料。ComVisible特性也可以針對程式集或者類型成員。 而ComImport特性正好是於此相反的,發生在tlbimp.exe在匯入COM類型類庫的時候,產生的託管類型會標記有ComImport特性,同時還會有Guid特性因為COM類型用GUID標識。比如我們手動建立一個Microsoft Internet

.NET(C#):SecurityAction.RequestMinimum和RequestOptional

注意:SecurityAction.RequestMinimum,RequestOptional,RequestRefuse在.NET 4.0後已被廢棄。不過其在.NET

.NET(C#):LINQ找出重複和不重複的元素

不難,訣竅就是利用LINQ的GroupBy方法,然後依靠返回結果的IGrouping介面的Count屬性來判斷是否是重複元素。代碼://重複元素:3,4,5//不重複元素:1,8,9int[] arr = { 1, 3, 3, 3, 4, 5, 4, 5, 8, 9, 3 }; //不重複元素var unique = arr.GroupBy(i => i)        .Where(g => g.Count() == 1)        .Select(g =>

.NET(C#):反射Emit建立泛型方法(包括泛型參數約束)

反射Emit中的TypeBuilder.DefineMethod並沒有直接提供對泛型參數的支援。整體過程也不是一個簡單的方法調用就可以解決的,具體總結如下過程:調用沒有指定參數和傳回值類型的TypeBuilder.DefineMethod重載,得到MethodBuilder。 使用MethodBuilder.DefineGenericParameters方法來定義泛型參數的類型名稱,比如T,K,V……然後最終方法就是xxx<T, K, V>。

.NET(C#)平台叫用:還是轉換字串,用IntPtr參數和Marshal類

前面一篇文章:.NET(C#)平台叫用:DllImportAttribute.CharSet和字串封送編碼,介紹了平台叫用時封送字串和DllImportAttribute.CharSet的各種關係。事實上還有另外一種方法,因為字串本身也是指標,那麼在調用聲明時用IntPtr(而不是String類型)也可以,此時則需要我們手動對IntPtr做處理。使用的則是Marshal類的StringToHGlobal方法將託管堆中的字串轉換成一個非託管堆中的指標。注意需要用Marshal.FreeHGloba

.NET(C#):不使用SMTP的25連接埠發郵件的許可權檢查

當不使用SMTP的25連接埠號碼發送郵件,某些低許可權執行環境可以會拋出異常,最好還是在執行操作前進行許可權的檢查。 SMTP在.NET中對應的許可權是:SmtpPermission類型(還有聲明式的SmtpPermissionAttribute特性,他們都在System.Net.Mail命名空間下)。他的Access屬性控制許可權的內容。對應一個SmtpAccess枚舉。有3個值:None(沒有),Connect(串連預設連接埠25),ConnectToUnrestrictedPort(串連任

總頁數: 4314 1 .... 134 135 136 137 138 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.