Static與Auto之不同處

2012年12月21日 星期五

auto由程式自動控制變數的生命週期,通常指的就是變數在進入其作用範圍的時候被分配,離開其作用範圍時被釋放;而static就是不auto,變數在程式開始時被載入記憶體,直到程式退出前才被釋放;也就是static是按照程式的生命週期來分配釋放變數的,而不是變數自己的生命週期。

範例:

public class EditPicture
{
public static EditPicture getInstance()
{
return new EditPicture();
}

public void Edit(int id)
{
//修改圖片方法
}

public void Add()
{
//新增圖片方法
}

}


 



如果只會用到處理圖片可以這樣寫



public class Product
{
public void ProductEdit(int id)
{
//處理圖片
EditPicture.getInstance().Edit(id);
}
}


若需要用到add及edit則要用以下方式寫



public class Product
{
public void PictureProcess(int id)
{
EditPicture obj = new EditPicture();
obj.Add();
obj.Edit(id);
}
}


這樣寫會佔用太多記憶體資源是不對的



public class Product
{
public void PictureProcess(int id)
{
EditPicture.getInstance().Edit(id);
EditPicture.getInstance().Add();
}
}


 



參考來源:http://www.dotblogs.com.tw/darren.net/archive/2008/08/12/4870.aspx

Read more...

Lambda表示式

2012年12月17日 星期一

(input parameters)  =>  { expression }

左邊想成傳入方法的參數,用  " => " 運算子連接,右邊是 方法的內容。

 

var list  = db.user.where(p=>p.userID = "neil").Select(vo=>
{
vo.name = "蔡小明";
return vo;
}

Read more...

簡易克服 CSS 被瀏覽器快取(Cache)的問題

2012年12月11日 星期二

今天同事遇到了,在測試機上直接修改了xxx.js確發生沒有作用這可能是因為被proxy或是waf快取,所以才會發生這樣的問題

只要在後面加入日期即可 例: xxx.js?20121212

 

 

詳細可參考 http://blog.miniasp.com/post/2008/02/03/Avoid-browser-cache-problem-on-css-or-javascript-file.aspx

Read more...