Time of Update: 2018-12-07
文章目錄 ThreadPool.SetMaxThreads 方法 在多線程的程式中,經常會出現兩種情況:一種情況: 應用程式中,線程把大部分的時間花費在等待狀態,等待某個事件發生,然後才能給予響應 這一般使用ThreadPool(線程池)來解決;另一種情況:線程平時都處於休眠狀態,只是周期性地被喚醒
Time of Update: 2018-12-07
概述 在軟體系統中,經常面臨著“一系列相互依賴的對象”的建立工作;同時由於需求的變化,往往存在著更多系列對象的建立工作。如何應對這種變化?如何繞過常規的對象的建立方法(new),提供一種“封裝機制”來避免客戶程式和這種“多系列具體對象建立工作”的緊耦合?這就是我們要說的抽象原廠模式。 簡而言之: 通過傳入"類名", 建立不同的對象.意圖 提供一個建立一系列相關或相互依賴對象的介面,而無需指定它們具體的類。類: CAdmin(管理員類), CUser(普通使用者類)介面:
Time of Update: 2018-12-07
簡單的說 access 神經病的update 時傳參數要按順序傳錯誤:OleDbParameter[] parameters = new OleDbParameter[]{ AccessHelper.Parameter("@name", name) AccessHelper.Parameter("@content", content,OleDbType.LongVarWChar)};正確:OleDbParameter[] parameters = new OleDbParameter[]{
Time of Update: 2018-12-07
隊列 棧以前都是自己實現的, 今天特意去找了下 C#中系統就有實現的 悲劇浪費好多的時間了.C#封裝的東西越來越多了不知道是好還是壞. .net入門的門檻降低, 導致學的人越來越多, 但好多人知其然, 而不知其所以然.C# 棧類: Stack, Stack<T> 協助: http://msdn.microsoft.com/zh-cn/library/system.collections.stack_methods.aspxC# 隊列類: Queue, Queue<T>
Time of Update: 2018-12-07
//報表定義ReportViewer reportViewer = new ReportViewer();//報表資料來源ReportDataSource datasource = null; //設定資料 DataSet ds = null; //請自行綁定資料//指定報表範本地址reportViewer.LocalReport.ReportPath = Server.MapPath("temp.rdlc");//報表資料來源設定datasource = new
Time of Update: 2018-12-07
C#逸出字元\’ 單引號\” 雙引號 \\ 反斜線\0 空\a 警告(產生峰鳴)\b 退格\f 換頁\n 換行\r 斷行符號\t 水平定位字元\v 垂直定位字元JS逸出字元逸出序列字元\b退格\f走紙換頁\n換行\r斷行符號\t橫向跳格
Time of Update: 2018-12-07
public class MyThread//傳參 { public double Diameter=10; public double Result=0; public MyThread(int Diameter) { this.Diameter = Diameter; } public void Calculate() { Console.WriteLine( "Calculate Start"); Thread.Sleep(2000); Result =
Time of Update: 2018-12-07
單元測試的基本方法是調用被測代碼的函數,輸入函數的參數值,擷取返回結果,然後與預期測試結果進行比較,如果相等則認為測試通過,否則認為測試不通過。1、Assert類的使用Assert.Inconclusive() 表示一個未驗證的測試;Assert.AreEqual() 測試指定的值是否相等,如果相等,則測試通過;AreSame() 用於驗證指定的兩個物件變數是指向相同的對象,否則認為是錯誤AreNotSame()
Time of Update: 2018-12-07
1. ?? 可能是一個被遺忘的運算子,很少看到有人用它,它的用法很簡單卻很實用: variable ?? defaultValue 相當於 variable == null ? defaultValue : variable2. asp.net 中止當前請求直接返回 Response.End(); 在做許可權判斷的時候可能用到 結合: HttpContext.Response.Redirect("url name"); //跳轉 Response.End();
Time of Update: 2018-12-07
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace SNS_Entitys{ public class SNSBlog { /// <summary> /// 空執行個體化 /// </summary&
Time of Update: 2018-12-07
class test {private int i ;private string s;public test(int n1,string s1) {this.i = n1;this.s = s1; }public void Withparameters() { Console.WriteLine("線程啟動,參數{0},{1}",i,s); } }class Program {static void
Time of Update: 2018-12-07
文章目錄 Null,DBNull,String.Empty 區別 - C# 轉載 的瞭解不深的同學 可要細看下啦對DBNull的解釋:Null ""和String.EmptyConvert.IsDBNull() Null,DBNull,String.Empty 區別 - C# 轉載 的瞭解不深的同學 可要細看下啦對DBNull的解釋: 該類用於指示不存在某個已知值(通常在資料庫應用程式中)。 在資料庫應用程式中,Null
Time of Update: 2018-12-07
static void Main() { Do(); Console.ReadKey(); }unsafe public static void Do() {for (int x = 0; x < 10000; x++)//分配一系列立即變成垃圾的對象 {new object();//不可到達的,被標記為垃圾 }
Time of Update: 2018-12-07
在Dynamic關鍵字中有童鞋提到DynamicObject了,所以就翻翻書,股溝學習下,然後做個筆記,方便以後學習使用,跟大家分享下這些基本的東西吧。。1.ExpandoObject 表示一個對象,該對象包含可在運行時動態添加和移除的成員。,這個類是在System.Dynamic這個命名空間下,那麼肯定跟動態類型有關,這個類能做什麼呢?我們看一下下面的例子: class Program {static void Main() { dynamic
Time of Update: 2018-12-07
本文介紹C#位元運算的處理方法,第一步, 先建立一個枚舉表示所有的許可權管理操作,接下來是許可權的運算等。 本文介紹C#位元運算的處理方法,第一步, 先建立一個枚舉表示所有的許可權管理操作,接下來是許可權的運算等。 常用的位元運算主要有與(&), 或(|)和非(~), 比如: 1 & 0 = 0, 1 | 0 = 1, ~1 = 0 在設計許可權時, 我們可以把許可權管理操作轉換為C#位元運算來處理. 第一步,
Time of Update: 2018-12-07
class Preson {public int i = 30;public int n = 40;public int add(int a, int b) {return a + b; } }class Water : Preson {public int cut(int b, int c) {return b - c; } } class Program {static void
Time of Update: 2018-12-07
C#是一種型別安全的程式設計語言(所有運算式都能解析成某個類型的執行個體,在編譯器產生的程式碼中,只會執行對這個類型有效操作),和非型別安全的語言相比,型別安全的優勢就體現出來了:1.許多錯誤能在編譯時間檢測到,取保代碼在執行它之前是正確的。2.編譯時間語言通常能產生更小,更快的代碼。(在編譯時間進行更多的假設,並在IL和中繼資料中落實那些假設) 為了方便開發人員使用反射或者與基本組件通訊,dynamic誕生了!一下代碼展示了如何利用反射在一個String目標("根據我找類型")上調用一個方法(
Time of Update: 2018-12-07
windows為我們提供了一個API。可以實現即時關閉監視器。此API在平台叫用中,如下籤名: [System.Runtime.InteropServices.DllImport("user32.dll")]public static extern IntPtr SendMessage(IntPtr hWnd, uint msg, uint wParam, int
Time of Update: 2018-12-07
位操作符是對資料按二進位位進行運算的操作符。c#位操作符包括:按位與 & 如果對應位都是1,則結果為1,否則為0按位或 | 如果對應位都是0,則結果為0,否則為1按位取反 ~ 將運算元的每一位按位取反異或 ^ 如果對應位值相同,則結果為0,否者為1左移 << 右移 >>舉例說明 public static void Main() { int a=6&3; Console.WriteLine("a={0}",a);
Time of Update: 2018-12-07
static void Main() { Console.WriteLine(test(1));//第一個參數是我們傳遞的,第二個參數使用預設的 Console.WriteLine(test(2,"operators"));//兩個參數都是我們自己定義的了 Console.WriteLine(Params("qq"));//第二個參數傳遞的是 new int[0];