C#拾遺之小知識(二)

小知識(二)位元運算符: 與:& 二進位位均為1時,結果為1,否則0。 二元運算,位元壓縮。 或:| 二進位位均為0時,結果為0,否則1。 二元運算,位元壓縮。 異或:^ 二進位位相同時,結果為0,否則1。 二元運算,位元壓縮。 反:~ 二進位0時,結果為1,否則0。 一元運算,位元壓縮。 左位移:<< 相當於乘2的n次冪。 二元運算。

C#拾遺之小知識(一)

小知識(一)var:初始化必須有賦值,var i;(錯的)。var類型的對象運行過程中不允許再更改類型。(如:var i=1; i="hello!" 會出錯)var只聲明局部變數。dynamic:初始化時可以不賦值。dynamic類型的對象運行過程中可以給該類型。(如:dynamic i=1; i="hello!" 不出錯)可聲明為全域變數。VAR和DYNAMIC:一般當不確定變數類型時使用。decimal:

C# 程式中嵌入百度地圖

本例是對WinForm中使用百度地圖的簡要介紹。百度地圖目前支援Android開發,IOS開發,Web開發,服務介面,具體可以參照'百度地圖開放平台'。【動態載入百度地圖】涉及到的知識點:WebBrowser控制項,此控制項是VS內建的控制項,使使用者可以在WinForm表單中導航網頁。主要用到Navigate函數,此函數將指定的統一資源定位器 (URL) 處的文檔載入到瀏覽器新視窗或 System.Windows.Forms.WebBrowser

C#編程之Excel匯入、匯出(源碼下載) (下)

3. Excel匯出3.1 匯出流程3.2 NPOI作業碼說明:把List<T>轉換為Excel步驟:①建立一個活頁簿(Workbook);②在活頁簿上建立一個工作表(Sheet);③在工作表上建立第一行(row),第一行為列頭,依次寫入cellHeard的值(做為列名)。④迴圈遍曆List<T>集合,每迴圈一遍建立一個行(row),然後根據cellHeard的鍵(屬性名稱)依次從List<T>中的實體物件取值存放到儲存格內。代碼:///

C#編程基礎之序列化

一、序列化的含義序列化是將對象處理為位元組流以儲存物件或傳輸到記憶體、資料庫或檔案。其主要目的是儲存對象的狀態,以便可以在需要時重新建立對象。相反的過程稱為還原序列化。1.1 序列化的工作方式此圖顯示序列化的整個過程。對象被序列化為流。流傳遞的不僅是資料,還包括有關物件類型的資訊,如對象的版本、地區性和程式集名稱。通過該流,可以將Object Storage Service在資料庫、檔案或記憶體中。 1.2

C#漢字轉拼音(支援多音字)

之前由於項目需要,中間需要一個漢字轉拼音和首拼的功能來做查詢,感覺這種功能基本已經成熟化了,於是尋找了相關的代碼,首先引入眼帘的是下面兩篇文章C#

C#編程之Excel匯入、匯出(源碼下載) (上)

本篇主要介紹C#的Excel匯入、匯出。1. 介紹1.1 第三方類庫:NPOI說明:NPOI是POI項目的.NET 版本,可用於Excel、Word的讀寫操作。優點:不用裝Office環境。下載地址:http://npoi.codeplex.com/releases1.2 Excel結構介紹活頁簿(Workbook):每個Excel檔案可理解為一個活頁簿。工作表(Sheet):一個活頁簿(Workbook)可以包含多個工作表。行(row):一個工作表(Sheet)可以包含多個行。2.

C#開始使用 LINQ (上)

LINQ 簡介Language-integrated Query (LINQ) (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中引入的一項創新功能。傳統上,針對資料的查詢都是以簡單的字串表示,而沒有編譯時間類型檢查或 IntelliSense 支援。此外,您還必須針對以下各種資料來源學習一種不同的查詢語言:SQL 資料庫、XML 文檔、各種 Web 服務等等。 通過LINQ,

C#介面(Interface)

C# 介面(Interface)介面定義了所有類繼承介面時應遵循的文法合約。介面定義了文法合約 "是什麼" 部分,衍生類別定義了文法合約 "怎麼做" 部分。介面定義了屬性、方法和事件,這些都是介面的成員。介面只包含了成員的聲明。成員的定義是衍生類別的責任。介面提供了衍生類別應遵循的標準結構。抽象類別在某種程度上與介面類似,但是,它們大多隻是用在當只有少數方法由基類聲明由衍生類別實現時。聲明介面介面使用 interface

C# 運算子多載

您可以重定義或重載 C# 中內建的運算子。因此,程式員也可以使用使用者自訂類型的運算子。重載運算子是具有特殊名稱的函數,是通過關鍵字 operator 後跟運算子的符號來定義的。與其他函數一樣,重載運算子有傳回型別和參數列表。例如,請看下面的函數:public static Box operator+ (Box b, Box c){ Box box = new Box(); box.length = b.length + c.length; box.breadth =

.NET異常設計原則

異常是使用.NET時必然會遇到的問題,但是,有太多的開發人員沒有從API設計的角度考慮這個問題。在大部分工作中,他們自始至終都知道需要捕獲什麼異常以及哪些異常需要寫入全域日誌。如果你設計了可以讓你正確使用異常的API,則可以顯著減少修複缺陷的時間。誰的錯?異常設計背後的基本理論始於這樣一個問題,“誰的錯?”為了方便本文的討論,這個問題的答案將總是以下三者之一:庫應用程式環境當我們說“庫”有問題,我們是指當前執行的某個方法有內部缺陷。在這種情況下,“應用程式”是調用庫方法的代碼(這有點混雜難分,因

.NET應用遷移到.NET Core(一)

本文介紹下應用遷移的一個過程。把一個運行在某個作業系統和硬體結構上的軟體,在另一個作業系統和硬體結構上重新編譯(包括一些必要的修改),以便在新的平台上運行,這一過程叫做應用程式移植。有些情況下,把應用程式從一個平台移植到另一個平台非常簡單直接,僅需要重新編譯並進行一些驗證測試即可。但是有些情況下,移植程式並不是那麼容易。本章是在應用程式移植方面對當前專案管理的一個補充,關於如何使用正規化的需求管理過程、如何更好的與軟體開發人員交流,以及如何進行專案管理,今天的專案經理們都已經非常熟悉了,但是,軟

關於.NET異常處理的思考(上)

在項目開發中,對於系統和代碼的穩定性和容錯性都是有對應的要求。實際開發項目中的代碼與範例代碼的區別,更多的是在代碼的啟動並執行穩定性、容錯性、擴充性的比較。因為對於實現一個功能來說,實現功能的核心代碼是一樣的,可能只是在寫法上最佳化而已,但是在實現某一個操作上使用的類來說,這一點是絕大多數時候是一樣的。這樣看來,我們在實際開發的過程中,需要考慮的問題比較多,已經不僅僅局限於某一具體的功能實現,更多的是代碼的穩定性和擴充性考慮。以上是在實際開發中需要面對的問題,筆者在最近的博文中,也在考慮這個異常

記一次.NET代碼重構(下)

public override bool TryGetMember(GetMemberBinder binder, out object result){ if (!_dictionary.TryGetValue(binder.Name, out result)) { result = null; return true; } var

記一次.NET代碼重構(上)

需求:是這樣的,要開發一個簡訊發送的模板,不同客戶可能會使用不同的模板,而不同的客戶使用的變數參數也是不同的。之前為了應急,線上已經完成了一個簡訊模板傳送簡訊的功能,簡訊模板表也建立了,而且在表中已經新增了一條記錄。我只需要做一個簡訊模板的增刪改查介面就可以了,看上去我的工作挺簡單的,老司機應該知道,接了個爛攤子。所示是原來已經建立好了的表SQL建立指令碼如下:在這之前是已經開發了一個傳送簡訊的API介面供客戶調用了的,也就是說調用方(客戶),不會修改代碼,只能我這邊來修改。雖然極不情願接做了一

.NET編程中Word/Excel 線上預覽

前言近日項目中做到一個功能,需要上傳附件後能夠線上預覽。之前也沒做過這類似的,於是乎就尋找了相關資料,.net實現Office檔案預覽大概有這幾種方式:使用Microsoft的Office組件將檔案直接轉換為html檔案(優點:代碼實現最簡單,工作強度最小。缺點:效果極差)使用Microsoft的Office組件將檔案轉換為PDF格式檔案,然後再使用pdf2swf轉換為swf檔案,也就是flash檔案在使用FlexPaper展示出來(優點:預覽效果能接受,缺點:代碼量大)使用Office

.NET多線程編程—並發集合

並發集合1 為什麼使用並發集合?原因主要有以下幾點:System.Collections和System.Collections.Generic名稱空間中所提供的經典列表、集合和數組都不是安全執行緒的,若無同步機制,他們不適合於接受並發的指令來添加和刪除元素。在並發代碼中使用上述經典集合需要複雜的同步管理,使用起來很不方便。使用複雜的同步機制會大大降低效能。NET Framework 4所提供的新的集合儘可能地減少需要使用鎖的次數。這些新的集合通過使用比較並交換(compare-and-swap,

.NET下幾個服務架構介紹

簡介在公司的服務多了以後,為了調用上的方便,同時為了以後的服務治理,一般都會使用一些服務架構,這裡主要介紹我知道的幾個服務架構,簡析一下這些服務架構的基本概念。可投入生產環境使用的以下兩個服務架構,我已經見過有公司投入到生產環境,所以對於穩定性,應該不需要有太大的擔心。 ServiceStack https://github.com/ServiceStack/ServiceStack

.NET編程之線程池內幕

本文通過對.NET4.5的ThreadPool源碼的分析講解揭示.NET線程池的內幕,並總結ThreadPool設計的好與不足。線程池的作用線程池,顧名思義,線程對象池。Task和TPL都有用到線程池,所以瞭解線程池的內幕有助於你寫出更好的程式。由於篇幅有限,在這裡我只講解以下核心概念:線程池的大小如何調用線程池新增工作線程池如何執行任務Threadpool也支援操控IOCP的線程,但在這裡我們不研究它,涉及到task和TPL的會在其各自的部落格中做詳解。線程池的大小不管什麼池,總有尺寸,Thr

C++17 的最終特性

最近幾周,C++委員會在奧盧(Oulu)召開會議,C++17的最終特性得以確定,並且它即將成為一個國際標準。在傑克遜維爾(Jacksonville)召開的最後那次會議之後,我對於C++17能給人帶來大驚喜未抱太大的希望,但是奧盧會議卻努力地為C++17新標準增加一些重要而且有趣的特性。Reddit頁面提供了一個很好的C++17特性總覽,並且,Herb Sutter在最近的CppCast網站上(還有他的行程報道) 也給出了有關C++17特性的很好的見解。另外,Michael

總頁數: 159 1 .... 123 124 125 126 127 .... 159 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.