Time of Update: 2018-12-08
這裡使用Atrribute的方式實現了Json字串向C#對象的轉變。因為功能局限,此版本只是針對於Json字串,如"response":"Hello","id":21231513,"result":100,"msg":"OK."; 而不是Json數組。這裡的Atrribute是作用在屬性上,像NHibernate中的Atrribute一樣,是在運行時通過反射來擷取這個屬性對應於Json字串中的哪個key.複製代碼 代碼如下:namespace JsonMapper{
Time of Update: 2018-12-08
view plaincopy to clipboardprint?複製代碼 代碼如下://手動儲存圖片 private void saveBtn_Click(object sender, System.EventArgs e) { bool isSave = true; SaveFileDialog saveImageDialog = new SaveFileDialog();
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.更新MAC地址 將註冊表中的索引值添加上MAC地址2.重新串連網路 試過了3個方法: ManagementClass最新提供了Disable,Enable方法,但只支援Vista作業系統 Shell.dll的方法,可以實現,但處理起來很煩,另外在重新串連時顯示“啟動中”提示框,不友好。 NetSharingManagerClass 的Disconnect, Connect方法,可以實現,但有一個問題是,會重新更新IP地址,有明顯感覺等。複製代碼 代碼如下:using
Time of Update: 2018-12-08
通過觀察發現矩陣的下標有這樣一個規律:a行遞增後b列遞增然後c行遞減再d列遞減,但是對應值卻是逐漸增加的。因此可用4個迴圈實現,需要注意的是在賦值時不要把之前的值覆蓋了。所以在這裡選擇相同顔色部分賦值,代碼如下:複製代碼 代碼如下:#include <iostream>#include <iomanip>using namespace std;// 輸出螺旋矩陣void Matrix(){ const int size = 10; // 矩陣大小 int
Time of Update: 2018-12-08
複製代碼 代碼如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 列印正三角{ class Program { static void Main(string[] args) { Console.WriteLine("請輸入要列印的行數:"); 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
1,建立預存程序複製代碼 代碼如下:create proc Pro_Login(@UserName nvarchar(10),@PassWord nvarchar(10))as select * from [User] UserName=@UserName and PassWord=@PassWord 2,通過類是實現設定資料庫字串串連複製代碼 代碼如下:class ConnectionString{public static string conStr = "Data
Time of Update: 2018-12-08
將iTextSharp.dll檔案拷貝到項目的bin目錄,然後在項目中添加引用:然後在後台代碼添加引用:複製代碼 代碼如下:using iTextSharp.text;using iTextSharp.text.pdf;using System.IO;using System.Diagnostics;//建立PDF private void CreatePdf() { //定義一個Document,並設定頁面大小為A4,豎向 iTextSharp.text.Document
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
複製代碼 代碼如下:public static IPAddress GetHostIP(){ IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ip = ipe.AddressList[0]; return ip;}private String GetIPAddress(){ String str;
Time of Update: 2018-12-08
查看公司項目代碼時,存在這樣一個問題:winform介面上有很多資訊填寫,提交後台伺服器更新,但資料的合法驗證及值的轉換卻不太敢恭維,一堆的if判斷和轉換,便想著是否能擴充個方法出來,琢磨出個思路,記錄下來與大家共同探討,有不對的地方還請大家指正。 設計思路: 1. 由於大部分從TextBox控制項中擷取資料值,可以擴充個泛型方法出來,直接根據轉換後的資料類型獲得值,類似這樣, var value = this.txtSample.GetValue<int>
Time of Update: 2018-12-08
c:複製代碼 代碼如下:#include<stdio.h>int main(int argc,char* argv[]){ char test[]="c語言輸出重新導向測試"; int i; if (freopen("F:\\雜檔案\\test.txt", "w", stdout)==NULL) fprintf(stderr, "重新導向錯誤!無法輸出到文本\n"); for(i=0;i<=9;i++) {
Time of Update: 2018-12-08
可變參數的實現要解決三個問題:1.如何調用帶有可變參數的函數2.如何編譯有可變參數的程式3.在帶有可變參數的函數體中如何持有可變參數第一個問題, 調用時在可以傳入可變參數的地方傳入可變參數即可,當然,還有一些需要注意的地方,後面會提到。第二個問題,編譯器需要在編譯時間採用一種寬鬆的檢查方案,,這會帶來一些問題, 比如對編程查錯不利。第三個是我在這裡要關心的問題,先以C語言為例分析其實現原理。printf和scanf是C語言標準庫中最常見的可變參數函數, printf的簽名是複製代碼
Time of Update: 2018-12-08
“Hello World!”的程式寫過不少,不過都是在黑色背景的控制台上顯示白色的文字。這次決定寫點特別的,讓“Hello World!”變成彩色的文字。範例程式碼如下:複製代碼 代碼如下:using System;using System.Runtime.InteropServices;[assembly:CLSCompliant(true)]namespace ColorConsole{ public sealed class HelloWorld {
Time of Update: 2018-12-08
複製代碼 代碼如下:/* File name: bmpTest.c Author: WanChuan XianSheng Date: Oct 01, 2011 Description: Show all Info a bmp file has. including FileHeader Info, InfoHeader Info and Data Part. Reference: BMP映像資料的C語言讀取源碼*/#include
Time of Update: 2018-12-08
複製代碼 代碼如下:#include<stdio.h>#include<windows.h>void FindFile(char* ,char* );int count=0;//統計檔案數char fname[32];#define BUFSIZE 256int main(int argc,char* argv[]){ char szLogicalDriveStrings[BUFSIZE]; DWORD iLength; int iSub;
Time of Update: 2018-12-08
最近在編寫C++程式的過程中,需要使用matlab產生的.mat檔案,於是尋找了基本使用方法。 我的電腦環境是win7 64位系統,VS2010,matlab R2010b。 一、工程配置: 1.VC++目錄->包含目錄 添加: MATLAB\R2010b\extern\include MATLAB\R2010b\extern\include\win64 ->庫目錄 添加: MATLAB\R2010b\extern\lib\win64\microsoft
Time of Update: 2018-12-08
找到GetShortPathName的方法簽名,DWORD GetShortPathName(LPCTSTR tpszLongPath,TPTSTR lpszShortPath,DWORD cchBuffer);非託管及管理的資料類型對應關係:LPCTSTR StringLPTSTR StringBuilderDWORD intDllImport的匯入規則:1、方法名與Win