1.usecontrol頁面在使用的時候,是沒有showdialog功能的。
2.列表在潘頓是否為空的時候可以直接判斷列表元素的數量是否為零。
3.foreach迴圈遍歷的時候,要模擬這個迴圈完整的執行過程,在不容易出錯,否則容易出現邏輯錯誤。
4.在例項乙個物件時,要確認是否有值:在例項化後,也要確定是新複製乙個例項,還是呼叫的原有例項。以此確定使用的屬性是否存在或有值。如:
new chartset(this, gate).showdialog();//僅僅是new了乙個例項
又或者:
public observablecollectionboardlist_ip
private void copydata();
boardlist.boardcheck = false;
boardlist.boardname = board.entity.ip;
boardlist_ip.add(boardlist);
}
5.在值的傳遞與接收時,一定要確認時誰傳出的值,又是誰接受的值,中間有沒有通過其他的字段進行運算。如:
private void gate_setting_click(object sender, routedeventargs e)
, gate.index);
if (currentboard!=null)
}}
6.如果出現空指標的錯誤,一般情況下不是沒有例項或物件,就是沒有值存在。
7.在做頁面跳轉的時候盡可能使用view分類,頁面控制項才能夠跳轉。
8.在做列表顯示的時候,要注意格式,是可以解決雙擊才能出發時間的問題的
且在作資料binding時,可以新建乙個類做資料中轉。
9.在做資料處理的時候,一定要注意數值的傳遞方向。是單向的還是雙向的。一般都是單向的。特別是用等號賦值或者一些對值進行操作的結果都是單項的值。結果不會影響之前的值。例如a=b,b=c+d,a不等於c+d。若是需要用到c+d的值通過a是呼叫不到的。所以一定要注意值得傳遞方向。
10.頁面彈窗有時候是需要傳遞出來資料的。但是在彈窗裡操作的值,是對原始資料的複製以後進行操作。無論結果怎麼樣。都不會影響到原始資料。這時候可以在原來的基礎上,在彈窗裡增加乙個屬性。對屬性進行操作。
public string result
var input = new textboxinput();//定義彈窗彈出
if (input.showdialog() == true)
= "ss";
using system;
using system.collections.generic;
using system.collections.objectmodel;
using system.componentmodel;
using system.linq;
using system.linq.expressions;
using system.text;
using system.windows;
using system.windows.controls;
using system.windows.data;
using system.windows.documents;
using system.windows.input;
using system.windows.media;
using system.windows.media.imaging;
using system.windows.shapes;
using utnet.models;
namespace utnet.views
public string result
private void inputdialog_keydown(object sender, keyeventargs e)
else}}
public string note
set }}
}
11.在資料定義的時候,要分清楚資料是否是標籤還是例項。標籤的話是否被賦值了。
private board board;
這就是乙個標籤,在使用的時候會出現空指標的情況。
public ascan( board board)
這就是在給他賦值。只用賦值後才能使用。
12。類與物件要分清楚。靜態與動態要分清楚。靜態的就是乙個例項。動態的就是乙個引用值。就像是建築圖紙與建築之間的關係。而類與物件就是一批水果就是類。其中蘋果,李子就是乙個物件。至於值引數與引用引數:在把變數作用於實參之前,變數必須賦值(除非是out引數)。對於引用型別,變數可以被設定為乙個實際的引用或null。使用值引數,通過將實參的值複製到形參的方式,把資料傳遞到方法。使用引用引數時,必須在方法的申明和呼叫中都使用關鍵字ref修飾符。實參必須是變數,在用作實參前必須被賦值。如果是引用型別的變數,可以賦值為乙個引用或者null值。
C老鳥程式設計技巧總結 1
c 程式設計有所幫助。1,開發跨平台的一種結構體實現 說明 提取自 lcc編譯器原始碼 定義跨平台的結構體.typedef struct binding binding 可以先把每個平台的介面物件繫結好.binding binds 下面使用起來就很方便了 無論是從命令列取平台名子動態繫結還是用巨集來...
C老鳥程式設計技巧總結 1
1 開發跨平台的一種結構體實現 說明 提取自 lcc 編譯器原始碼 定義跨平台的結構體 typedef struct binding binding 可以先把每個平台的介面物件繫結好 binding binds 下面使用起來就很方便了 無論是從命令列取平台名子動態繫結還是用巨集來在編譯時繫結 如 動...
pandas使用技巧總結 1
記錄工作中使用過的一些pandas技巧 匯入必要的庫 並設定路徑 對得到資料預處理 cs well data 壓裂段 str.split n 2,expand true 壓裂段形式 井號 層號 段號 str.split 對應list.split 以什麼分割,預設空格,n 分成幾段,預設 1 all ...