Time of Update: 2018-12-08
1.根據單個分隔字元用split截取例如複製代碼 代碼如下:string st="GT123_1";string[] sArray=st.split("_");即可得到sArray[0]="GT123",sArray[1]="1";2.利用多個字元來分隔字串例如複製代碼 代碼如下:string str = "GTAZB_JiangjBen_123";string[] sArray = str.Split(new char[2] { 'j', '_' });foreach(string e in
Time of Update: 2018-12-08
1.c#裡面的TabControl控制項沒有關閉按鈕,而且很難看。2.有一些已經做好的第三方控制項,但是收費。3.由於我的故障樹推理診斷項目在繪圖的時候允許同時開啟多個文檔進行操作,就要實作類別似於瀏覽器的多標籤功能,而且要可以關閉。4.所以自己寫一個類繼承TabControl類,然後重寫一些裡面的方法即可實現。5.特色:有關閉按鈕,標籤有背景顏色,選中的標籤和沒選中的顏色不一樣,實現滑鼠中鍵和右鍵的功能先看我的項目中的完整代碼,有很多代碼是我的項目需要,可根據你的項目需求刪減,核心的代碼後面詳
Time of Update: 2018-12-08
1. 用Microsoft Visual C++ 6.0編譯的程式,或者發布在Windows 2000/NT/ME/98 系統單純通過拷貝MSVCRxx.DLL檔案到應用程式目錄或system32目錄即可2. 用Visual Studio 2005以上編譯的程式,且發布在Windows XP及以上系統為了減少DLL引發的配置問題(DLL hell),C和C++運行時由並行 (Side-by-Side)
Time of Update: 2018-12-08
功能 : 根據調用的方法名稱 反射動態調用 sql Command 的方法複製代碼 代碼如下: /// <summary> /// 預存程序的屬性 /// ProcName 預存程序的名稱 /// MethodName 執行SqlCommand 方法的名稱 /// PrmList 預存程序的參數 /// </summary> public class ExeProc { public string
Time of Update: 2018-12-08
Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解釋為將類型轉換為 int,那它們的區別是什麼呢?Convert.ToInt32 與 int.Parse 較為類似,實際上 Convert.ToInt32 內部調用了 int.Parse:Convert.ToInt32 參數為 null 時,返回 0;int.Parse 參數為 null 時,拋出異常。Convert.ToInt32 參數為 ""
Time of Update: 2018-12-08
什麼是隱式轉換 Implicit Conversion 隱式轉換就是直接使用,比如可以把一個 byte 類型直接用在 int 上。 比如以下直接把 byte 的 b 賦給 int 的 n,之間是直接用的,沒存在什麼額外的關鍵字,全由系統自動完成類型轉換。 複製代碼 代碼如下:byte b = 1; int n = b; 隱式數值轉換表(摘自 MSDN)從到sbyteshort、int、long、float、double 或
Time of Update: 2018-12-08
做分類 經常會用到無限層級的分類 先介紹一下資料庫的表結構tid 類別編號tname 類別名稱pid 父類編號測試資料就不寫了,大家可以自己插入一下試試查詢制定類別的 所有的子類 sql 的 代碼複製代碼 代碼如下:alter proc proc_chaxun(@tid int )asbegin with tt as ( select tid,tname,pid from dbo.t_goodsType where tid=@tid
Time of Update: 2018-12-08
工廠介面定義複製代碼 代碼如下:/// <summary> /// 工廠介面定義 /// </summary> /// <remarks> /// TTarget : abstract product type /// TSource: concrete product type /// </remarks> public interface IFactory {
Time of Update: 2018-12-08
效果描述:有兩個表單,FORM1(一個名為“開啟form2”的button控制項)和FORM2(一個名為“改變form1顏色“的button控制項)。啟動時,FORM1中點擊button控制項“開啟form2””使FORM2顯示出來。點擊FORM2中的“改變form1顏色”後,Form1中顏色改變。一、在Form2裡面: 首先聲明一個委託和委託執行個體Form2類外複製代碼 代碼如下:public delegate void ChangeFormColor(bool topmost)
Time of Update: 2018-12-08
1、使用FileStream讀寫檔案 檔案頭:複製代碼 代碼如下:using System;using System.Collections.Generic;using System.Text;using System.IO;讀檔案核心代碼:複製代碼 代碼如下:byte[] byData = new byte[100];char[] charData = new char[1000];try{FileStream sFile = new
Time of Update: 2018-12-08
App.config中寫(注意C#中的應用程式設定檔名不能修改)複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8" ?><configuration> <connectionStrings> <add name="URL" connectionString="http://www.hao123.com"/> <add name="IP" connectionString="192.168
Time of Update: 2018-12-08
方法如下:在表單的Load事件註冊滾動事件,並增加對應的方法 複製代碼 代碼如下:private void FormSample_Load(object sender, EventArgs e) { //註冊事件 this.MouseWheel += new MouseEventHandler(FormSample_MouseWheel); } /// <summary> ///
Time of Update: 2018-12-08
複製代碼 代碼如下:// hello.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"int _tmain(int argc, _TCHAR* argv[]){ FILE *file1,*file2; file1=fopen("047facesmall.obj","r"); //讀檔案
Time of Update: 2018-12-08
1 問題描述查看下面這段代碼:複製代碼 代碼如下:int[] a = [1,2,3];for (int i =0; i<a.length; i++) { a[i] = a[i] * 2; }for (int i =0; i<a.length; i++) { Console.WriteLine(a[i]); }很明顯,上述代碼中存在for迴圈的重複代碼。2 解決方案如何消除重複?使用委託。•定義委託複製代碼 代碼如下:delegate int mapfun(int
Time of Update: 2018-12-08
1.在Winform裡使用WebBrowser,要對Form1.cs添加一些東西: 1.1 在“public partial class Form1 : Form”上方,添加:複製代碼 代碼如下:[PermissionSet(SecurityAction.Demand, Name = "FullTrust")][System.Runtime.InteropServices.ComVisibleAttribute(true)] 1.2 在Form1的Shown事件中,添加:複製代碼
Time of Update: 2018-12-08
在動手之前我一直以為靜態鏈表和動態鏈表沒有什麼差別,細細一想才發現,原來靜態鏈表之中隱藏著一個非常值得討論的話題——記憶體管理。靜態鏈表的“靜態”二字是指記憶體的來源為靜態記憶體(通常用全域數組)。與動態鏈表不同,在靜態鏈表中節點記憶體的申請與釋放都需要自我維護,由於這裡是鏈表,也很容易想到將空餘的節點連結起來形成一個free_list,每次需要時從free_list頭部取出一個節點,釋放時再將節點加到頭部,這樣就能夠非常容易的實現鏈表的其他動作。複製代碼 代碼如下:// 靜態鏈表 的實現
Time of Update: 2018-12-08
String類有不可改變性。每次執行字元操作時,都會建立一個新的String對象。StringBuilder 類解決了對字串進行重複修改的過程中建立大量對象的問題。初始化一個StringBuilder 之後,它會自動申請一個預設的StringBuilder 容量(預設值是16),這個容量是由Capacity來控制的.並且允許,我們根據需要來控制Capacity的大小,也可以通過Length來擷取或設定StringBuilder 的長度.舉例: 用String類這麼寫複製代碼
Time of Update: 2018-12-08
查看公司項目代碼時,存在這樣一個問題:winform介面上有很多資訊填寫,提交後台伺服器更新,但資料的合法驗證及值的轉換卻不太敢恭維,一堆的if判斷和轉換,便想著是否能擴充個方法出來,琢磨出個思路,記錄下來與大家共同探討,有不對的地方還請大家指正。 設計思路: 1. 由於大部分從TextBox控制項中擷取資料值,可以擴充個泛型方法出來,直接根據轉換後的資料類型獲得值,類似這樣, var value = this.txtSample.GetValue<int>
Time of Update: 2018-12-08
可變參數的實現要解決三個問題:1.如何調用帶有可變參數的函數2.如何編譯有可變參數的程式3.在帶有可變參數的函數體中如何持有可變參數第一個問題, 調用時在可以傳入可變參數的地方傳入可變參數即可,當然,還有一些需要注意的地方,後面會提到。第二個問題,編譯器需要在編譯時間採用一種寬鬆的檢查方案,,這會帶來一些問題, 比如對編程查錯不利。第三個是我在這裡要關心的問題,先以C語言為例分析其實現原理。printf和scanf是C語言標準庫中最常見的可變參數函數, printf的簽名是複製代碼
Time of Update: 2018-12-08
代碼如下:複製代碼 代碼如下:static void Main(string[] args) { Console.WriteLine(Exec(GetSet)); Console.ReadKey(); } //定義委託,用於將方法做為參數傳給Exec. public delegate string GetResultDelegate(); public static string