根據 .Net 基金會發布的程式語言最新路線圖,為了提供程式碼質量,Microsoft C# 8 將具有可空引用型別。該功能除了為現有的非空引用新增安全引用型別,編譯器在遇到可空型別的引用或 Null 值分配給非空變數型別時發出警告。 可空引用型別旨在幫助開發人員阻止空引用異常,它的核心是表達一個無效意圖。當某些東西不為空時,編譯器會去識別,如果使用者將 null 賦值給未被宣告為 null 的
2017-09-07
如果我們可以同時擁有 C# 和 Java 世界的最好特性,那會是什麼樣呢? 完美的程式語言並不存在,我希望我們可以在這一點上達成一致。開發新語言往往是為了克服另一種語言的弊端,又不可避免的在某些方面上健壯一些,卻在另一些方面上存在不足。 C# 與 Java 都起源於 C/C++ 語言,他們在物件導向方面有許多相似之處。除了 Java JVM 和 C# .NET CLR 有許多相同結構上的相似
2017-08-26
這是最近放出免費下載的C#教程。 cunni語:一直覺得微軟應該把C#的名字改為C$,用的人一定會更多。 read more |  digg story
2016-06-25
1,非同步程式設計 因為在移動裝置上,程式的響應速度實在是一個太重要的問題,所以對於應用被觸控後的反應也是同等重要。 在 Windows Runtime 中,設計師總是要考慮如果一個互動式操作需要耗費大於50毫秒的話,那麼就該用非同步程式設計來解決過慢的反應了,雖然同步程式設計很簡單易懂,但是隨著移動應用開發越來越火,如何更加方便的非同步程式設計就是一個重要的話題了。
2015-10-17
自從 Apple 在iOS 7中引入了 iBeacons , 對它們的關注現在已經甚囂塵上. 例如, Apple 正在將它們應用在其零售商店中, NFL將它們安裝在 Super Bowl 上,而 Major League Baseball 也將會在即將到來的賽季期間使用到它們. 我們之前已經討論過如在用一個 ‘ Find the Monkey’; 遊戲在你的 Xamarin.iOS 應用中實
2015-10-17
關於C# C#是達成微軟 公共語言執行庫 (CLR)的少數語言中的一種。達成CLR的語言可以受益於其帶來的特性,如跨語言整合、異常處理、安全性增強、部件組合的簡易模型以及除錯和分析服務。作為現代的CLR語言,C#是應用最為廣泛的,其應用場景針對Windows桌面、移動手機以及伺服器環境等複雜、專業的開發專案。 C#是種物件導向的強型別語言。C#在編譯和執行時都有的強型別檢查,使在大多數典
2015-10-17
引言 你可能知道, 事件處理 是 記憶體洩漏 的一個常見來源,它由不再使用的物件存留產生,你也許認為它們應該已經被回收了,但不是,並有充分的理由。 在這個短文中(期望如此),我會在 .Net 框架的上下文事件處理中展示這個問題,之後我會教你這個問題的標準解決方案, 弱事件 模式 。有兩種方法,即: “傳統”方法 (嗯,在 .Net 4.5 前,所以也沒那麼老),它實
2015-10-17
序列化是將一個物件轉換成位元組流以達到將其長期儲存在記憶體、資料庫或檔案中的處理過程。它的主要目的是儲存物件的狀態以便以後需要的時候使用。與其相反的過程叫做反序列化。 序列化一個物件 為了序列化一個物件,我們需要一個被序列化的物件,一個容納被序列化了的物件的(位元組)流和一個格式化器。進行序列化之前我們先看看System.Runtime.Serialization名字空間。ISer
2015-10-17
本文我想跟大家分享的是如何將 C# 中的一些影象物件儲存到 Oracle 中的 BLOB 欄位中,這裡我們並不想從零開始,而是使用我自己的框架,下面我們開始。 1. 首先建立一個空的表:  CREATE TABLE GAMBAR ( GAMBAR_BIN BLOB );
2015-10-17
在 C# 中沒有提供方法用來對 MessageBox 進行定位,但是通過 C++ 你可以查詢視窗並移動它們,本文講述如何在 C# 中對 MessageBox 進行定位。 首先需在程式碼上引入所需名字空間: using System.Runtime.InteropServices;using System.Threading; 在你的 Form 類裡新增如下 DllImpo
2015-10-17
下載示例 下載原始碼 1. 介紹 這個專案讓你可以去讀取並解析一個PDF檔案,並將其內部結構展示出來. PDF檔案的格式標準文件可以從Adobe那兒獲取到. 這個專案基於“PDF指南,第六版,Adobe便攜文件格式1.7 2006年11月”. 它是一個恐怕有1310頁的大部頭. 本文提供了對這份文件的簡潔概述. 與此相關的專案定義了用來讀取和
2015-10-17
本文的內容包括引入C#6.0中的新的語言特性有哪些. 還有已經被引入的程式碼名稱為 “ Roslyn”新編譯器. 編譯器是開放原始碼的,並且可以從 codeplex 網站的這個地址下載到原始碼:  https://roslyn.codeplex.com/ . C# 6.0 中的新特性 我們可以對這些新特性一個一個的進行討論,而首先要列出 C# 6.0 中這些特性的一個清單 自動的
2015-10-17
簡介 這篇文章將向你介紹通過 MySQL Connector for .NET 來連線到 MySQL 資料庫,然後我們將向你展示如何使用 C# 更新 MySQL 資料庫記錄。 環境準備 安裝 Visual Studio 2008 或者 Visual Studio 2010 在本機上安裝 MySQL 資料庫,當然你也可使用其他機器上已經裝好的 MySQL 資料庫
2015-10-16
程式語言流行度的資料已經將C#定為2012年度語言。他們的資料顯示,C#在2012年增長了2.3個百分點,在同期比其它任何語言都要多。 是什麼導致了C#在2012的增長呢?Windows 8的釋出可能是個比較重要的原因— C#仍然是Windows裝置上開發第三方應用的主要語言。 但是我們覺得
2015-10-16
介紹 大家好,我是Oleksandr Karpov,這個是我第一次發表文章,希望大家喜歡。 在這我將為大家展示和介紹怎麼樣在C#和.NET下使用匯編秒速拷貝資料,在我是例項裡面我用了一運用程式建立了一段視訊,裡面包含圖片,視訊和聲音。 當然如果你也需要在C#使用匯編的情況,這方法給你提供一個快速簡單的解決途徑。
2015-10-16
介紹 我最近需要為一個.net專案準備一個內部執行緒通訊機制. 專案有多個使用ASP.NET,Windows 表單和控制檯應用程式的伺服器和客戶端構成. 考慮到實現的可能性,我下定決心要使用原生的socket,而不是許多.NET中已經提前為我們構建好的元件, 像是所謂的管道, NetTcpClient 還有 Azure 服務匯流排. 這篇文章中的伺服器基於System.Net.Socket
2015-10-16
幾周前我在不同的地方讀到了有關C#6的一些新特性。我就決定把它們都收集到一起,如果你還沒有讀過,就可以一次性把它們都過一遍。它們中的一些可能不會如預期那樣神奇,但那也只是目前的更新。 你可以通過下載VS2014或者安裝 這裡 針對visual studio2013的Roslyn包來獲取它們。 那麼讓我們看看吧:
2015-10-16
threadmsg_demo.zip ~ 41KB     下載 threadmsg_src.zip ~ 65KB     下載 0.背景簡介 微軟在 .NET 框架中提供了多種實用的執行緒同步手段,其中包括 monitor 類及 reader-writer 鎖。但跨程式的同步方法還是非常欠缺。另外,目前也沒有方便的執行緒間及程式間
2015-10-16
在和C#新手一起工作的時候,我注意到他們經常重複一些錯誤。這些錯誤,當你指出來的時候很容易理解。然而,如果一個開發者沒有意識到這些錯誤,將會影響正在開發的軟體的質量和效率,因此,我決定總結8個常見的錯誤。 1. 使用字串連線代替StringBuilder 在你向一個字串追加新字串的時候,字
2015-10-16