[C#] 如何洗亂 List

2012-11-14


這問題很好玩,之前跟 The God of Excel -智揚學長 在旅行途中一直在想這問題..Orz..
剛好這幾天有遇到這樣的需求,因為老闆希望撈出來的商品,不要順序都一樣,是否可以增加變化感..
又再度引發公司熱烈討論,這問題真是令人著迷?!
無論是效率,或是方法真的都很好玩..
下面是我提供的方法..我在List 中先依序放入 1~50
之後再丟入ShuffleList中將它洗亂…
依序放入 1~ 50 :


[C#] 找尋string array 中是否有某一string

 

問題很簡單,有很笨的做法就是跑foreach 去查,但是已經到了21世紀,可以用LINQ語法來辦到

string[] pool = "AB,B,C,D".Split(',');

// true
MessageBox.Show((pool.Any(s => "B".Contains(s)).ToString()));

//true
MessageBox.Show((pool.Any(s => "AB".Contains(s)).ToString()));

//false
MessageBox.Show((pool.Any(s => "A".Contains(s)).ToString()));



假設 這 string array 為 AB,A,C,D


之後判斷是只要這樣寫就可以了

if (StringArray.Any(s => TargetString.Contains(s)))
 


[Windows8] 開始不見了,外掛來解決

2012-11-13

 

Windwos 8 的新版 UI ,是一個新的思維,很適合平板,但是對於這十幾年來的習慣.

一時之間難以習慣..這時候外掛出現了..

2012-11-13_015014
下載位址 : http://www.startbutton8.com/zh-tw/

如果還不習慣的話,快去下載吧…


[說好今夜不談程式] Chrome的Flash Player 為啥沒有聲音


這幾天重新安裝電腦,結果Chrome 播放 Youtube 卻沒有聲音..(悶~
網路上試過很多方法,還有移除音效卡的= = ..後來我找到這方法.
1. 首先打開你的Chrome 在網址 輸入  chrome://plugins/
2012-11-13_000707


[C#] 找尋字串中是否包含某字詞..

2012-11-08

 

假設字串是 "HELLO,IamAString" 我是搜尋 是否包含 string 這字..

會因為大小寫關係..所以可能會搜尋不到…

所以,我能想到的寫法為這幾種…

 

1.  使用 IndexOf 判斷

var isContain = "HELLO,IamAString".IndexOf("string", StringComparison.OrdinalIgnoreCase) >= 0;


2. 先將字串轉成大寫/小寫 之後再用Contains 比對


var isContain = "HELLO,IamAString".ToUpper().Contains("STRING");



3. 使用Regular Expression


var isContain = Regex.Match("HELLO,IamAString", "string", RegexOptions.IgnoreCase).Success;



這時候我在想,哪一個效率比較好,所以做了一個很簡單的測試


我使用一個List 裡面擺物件(剛好正寫到一半的專案就進行測試)
其中的Name 我跑迴圈 放入一百萬筆資料 分別他們的Name 欄位是User1~User1000000 這時候我進行搜尋 ER5 這字串看看哪 個速度比較快


[C#] 使用 Fasterflect 進行快速反射

2012-11-07

 

之前一篇文章 [C#] 搜尋 T 裡面是否有某屬性中有某關鍵字

提到有關於 反射找出T 是否某一Property 帶有某值..

套一句 運轉手之戀這部電影說過的話..那時候我一值在想,如果再快一點會怎麼樣?!

之前的案例..

/// <summary>
/// 搜尋是否物件某屬性中是否帶有某關鍵字
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="lists"></param>
/// <param name="propertyName">屬性名</param>
/// <param name="propertyValue">是否包含某關鍵字</param>
/// <returns></returns>
public T[] SearchListPropertyValue<T>(List<T> lists, string propertyName, string propertyValue)
{
    List<T> re = new List<T>();
 
 
    return
        lists.Where(
            x => x.GetType().GetProperty(propertyName).GetValue(x, null).ToString().IndexOf(propertyValue, StringComparison.OrdinalIgnoreCase) >= 0).
            ToArray();
 
}


這時候我們呼叫 一個 擁有一百萬個物件的List


當麻許的超技八 2014 | Donma Hsu Design.