Time of Update: 2018-12-07
一、使用ref、out首碼與不使用首碼的區別 int intParam = 0; object objParam = null; public void method(int intParam,object objParam) //intParam是實值型別形參, objParam是參考型別形參 { //do something..... } public void Main() {
Time of Update: 2018-12-07
下面對C#中的先行編譯指令進行介紹:1.#define和#undef用法: #define DEBUG #undef DEBUG #define告訴編譯器,我定義了一個DEBUG的一個符號,他類似一個變數,但是它沒有具體的值,可以將它看為一個符號而已。#undef就是刪除這個符號的定義。如果符號DEBUG沒定義過,則#undef不起作用,否則#define不起作用。二者都必須放在原始碼之前。二者的順序看代碼的順序: #define DEBUG
Time of Update: 2018-12-07
在C#中,Dictionary提供快速的基於兼職的元素尋找。當你有很多元素的時候可以使用它。它包含在System.Collections.Generic名空間中。在使用前,你必須聲明它的鍵類型和實值型別。詳細說明必須包含名空間System.Collection.Generic Dictionary裡面的每一個元素都是一個索引值對(由二個元素組成:鍵和值) 鍵必須是唯一的,而值不需要唯一的 鍵和值都可以是任何類型(比如:string, int, 自訂類型,等等)
Time of Update: 2018-12-07
從《C#進階編程》瞭解到給線程傳遞參數有兩種方式,一種方式是使用帶ParameterizedThreadStart委託參數的Thread建構函式,另一種方式是建立一個自訂類,把線程的方法定義為執行個體的方法,這樣就可以初始化執行個體的資料,之後啟動線程。方式一:使用ParameterizedThreadStart委託如果使用了ParameterizedThreadStart委託,線程的入口必須有一個object類型的參數,且傳回型別為void。且看下面的例子:using
Time of Update: 2018-12-07
委託是一種定義方法簽名的類型。 當執行個體化委託時,您可以將其執行個體與任何具有相容簽名的方法相關聯。 您可以通過委託執行個體調用方法。 在表面上,委託很簡單,使用new來構造委託執行個體。使用委託執行個體的變數名來調用回呼函數。實際情況是編譯器,CLR在幕後做了大量的工作來隱藏其複雜性,只有瞭解了這些幕後的東西,你才能真正的掌握它、靈活的運用它。 1、聲明委託namespace DelegateDemo{ internal delegate void
Time of Update: 2018-12-07
NET命名規範1、 命名空間使用Pascal大小寫,和類不要使用同樣的名稱,規則公司名+技術名稱+功能樣本:AQH.BLL2、 使用Pascal大小寫,用名字或名字短語命名樣本:public class Button3、 使用Pascal大小寫,給介面名字加上字母I首碼樣本:public interface IServiceProvider4、 屬性Attribute應該總是將尾碼Attribute 添加到自訂屬性類中樣本:public class
Time of Update: 2018-12-07
第一個特性:隱式類型化本地變數 這個特性非常簡單,有些JavaScript的影子,我們可以統一使用使用"var"關鍵字來聲明局部變數,而不再需要指明變數的確切類型了,變數的確切類型可通過聲明變數時的初始值推斷出來。這樣一來,可以大大簡化我們聲明局部變數的工作量了,下面是一個例子: 上面的代碼將被解析成:
Time of Update: 2018-12-07
最近在學習.NET Framework 進階編程這本書,感覺挺有意思的,於是根據自己的理解,做了筆記,總結下內容。本文筆記主要是從.NET類型,泛型,集合這三個方面進行描述。本文內容: 1. 類型 2. 泛型 3.
Time of Update: 2018-12-07
這個樣本程式是同步通訊端程式,功能很簡單,只是用戶端發給伺服器一條資訊,伺服器向用戶端返回一條資訊;這裡只是一個簡單的樣本,是一個最基本的socket編程流程,在接下來的文章中,會依次記錄通訊端的同步和非同步,以及它們的區別。 下面是樣本程式的簡單步驟說明伺服器端:第一步:用指定的連接埠號碼和伺服器的ip建立一個EndPoint對像;第二步:建立一個Socket對像;第三步:用socket對像的Bind()方法綁定EndPoint;第四步:用socket對像的Listen()方法開始監聽;第五步
Time of Update: 2018-12-07
最近實習早出晚歸很累,一直沒有更新!額,基礎還是要鞏固的!匿名函數在學習委託時,有個概念叫做匿名函數:即不需要在外部定義方法,直接在初始化委託時申明方法。先來看一個例子。 class Program { static void Main(string[] args) { //ad指向匿名函數 //delegate(參數列表){方法體} AnonyDelegate ad = delegate(
Time of Update: 2018-12-07
C#編程中常用的三種命名法總結1.駱駝式命令法: 混合使用大小寫字母來構成變數和函數的名字。首字母小寫。2.帕斯卡(pascal)命名法: 混合使用大小寫字母來構成變數和函數的名字。首字母大寫。3.匈牙利命名法: 通過在變數名前面加上相應的小寫字母的符號標識作為首碼,標識出變數的範圍,類型等。(匈牙利命名法關鍵是:標識符的名字以一個或者多個小寫字母開頭作為首碼;首碼之後的是首字母大寫的一個單詞或多個單片語合,該單詞要指明變數的用途。其中,以"m_"開頭的表示類的成員
Time of Update: 2018-12-07
------------ public DataTable ReadExcelToTable(string filepath) { string excelfilePath = Server.MapPath("Excel/Excel.xls"); Excel.Application myExcel = new Excel.ApplicationClass(); Excel.Workbooks myBooks =
Time of Update: 2018-12-07
c#類的預設修飾符是 internal,類成員預設的存取修飾詞是private類的修飾符1 、public 完全公開,沒有訪問限制2、internal 在同一程式集中可以訪問3、abstract 抽象類別,只能做父類繼承,不能執行個體化4、partial 部分類5、sealed 密封類,不能被繼承6、static 靜態類類成員修飾符1、private 只有類的內部可以訪問2、protected 類的內部、衍生類別可以訪問3、internal
Time of Update: 2018-12-07
.module 模組.assembly 程式集,.assembly偽指令指定了這個模組屬於哪個程式集。模組只能包括一個單獨的.assembly偽指令.entrypoint 進入點 在C#中,這個函數是Main,一個程式只能有一個開始點.ctor 建構函式.cctor 靜態建構函式newobj 建立一個新的對象,對應c#中的new,當new被首次調用時,會為代碼和變數分配記憶體。但是之後,在new上的每一次調用,只會為變數分配新的記憶體instance
Time of Update: 2018-12-07
1、book.xml檔案如下 <?xml version="1.0" encoding="utf-8" ?><bookstore xmlns="http://www.books.com"> <book genre="asp.net" publicationdate="2012" ISBN="1-861003-11-0"> <title>asp.net 本質論</title> <author> <
Time of Update: 2018-12-07
c# sql like 參數 "SELECT CAST(SUBSTRING(MAX(BoxID), 10, 3) AS int) from Box WHERE BoxID like '%' + @subString + '%'"參數化的意義在於把對應的值從參數中提供,對於like語句,like後面的值則包括了單引號中的所有部分,包括百分比符號(%),因此在參數化like對應的值時,應該把百分比符號移到參數值中提供,像這樣:
Time of Update: 2018-12-07
拖動無邊框表單Form至案頭任何位置首先建一個Windows應用程式將Form1的 FormBorderStyle屬性設定為Noe主要是在Form1表單觸發三個事件:Form4_MouseDown,Form4_MouseMove,Form4_MouseUp代碼如下: public partial class Form1 : Form { Point mouseOff; //滑鼠移動位置變數 bool
Time of Update: 2018-12-07
最近因為三層架構中的實體類,引發了不少小問題,下面列舉一下,談談自己的感想。 本文所指的實體類僅限於三層中的實體類,即資料庫表的映射。 一、為什麼要用實體類? | 使程式簡潔易懂,便於維護。 | 暗合介面不變原則。 | 體現物件導向思想。 舉例說明:
Time of Update: 2018-12-07
唉,只怪自己學術不精,現在才學習SQL預存程序,從網上找了不少資料,可是很淩亂,定位也比較高,不適合我這樣的小菜學習,現在我就來總結一下C#使用SQL預存程序完整的流程,以SQL2005為例。 先簡單的說說什麼是預存程序:預存程序就是固化在SQL資料庫系統內部的SQL語句,這樣做的好處是可以提高執行效率、提高資料庫的安全性、減少網路流量。接下來就講解如何在資料庫中建立一個預存程序。 開啟SQL2055資料庫,展開“資料庫”節點,找到你使用的資料庫(目的資料庫),展
Time of Update: 2018-12-07
第一個版本:http://blog.csdn.net/yangyuankp/article/details/7748110 這次主要是改進了Web端,把功能進行封裝,變成一個dll類庫,使用變得及其簡單。並美化整合了後台控制介面。 同時小小的改動了一下資料庫,把配置都放在了資料庫裡。因為web.config檔案雖然能儲存配置,但是只能讀取,無法更改,非常不方便。用戶端配置也在資料庫中,並提供了介面式的管理,摒棄了第一版中手動修改的方案,介面如下: