2011-07-04 11 views
2

私はDataTable MyDtb1を持っています。私は列 "sl_no" varchar(10)を持っています。 このsl_no coloumnでは、私は以下のような値を持っています。以上のことからDataTable - Varchar()列からMax()の値を探しますか?

 
MyDtb1.sl_no Column Values 

Search - Zero'th Row 
1 - 1 st Row 
2 -2 nd Row 
3 - 3 rd Row 
4 - 4 th Row 
Null - 5 th row 

私はsl_noのMAX(値)を選択すると、結果はアイデアのための「4」

おかげでなければなりません。

答えて

3
int x; 
    var maxVal = MyDtb1.AsEnumerable() 
     .Max (r => int.TryParse(r.Field<string>("sl_no"), out x) ? (int?)x : null); 
2

これは何か?

List<string> testList = new List<string> { 
    "Search", 
    "1", 
    "2", 
    "3", 
    "4", 
    null     
    }; 
int num; 
int maxNumeric = testList.Where(x => int32.TryParse(x, out num)).Select(x => Convert.ToInt32(x)).Max(); 
+0

あなたはdouble' 'に解析し、その後' int'に変換しているいくつかの理由がありますか? Int32は独自の 'TryParse'メソッドを持っています... –

+0

@djacobson、いい理由はありません=)それについて考えるのが速すぎました - 訂正、ありがとう – Smudge202

+0

おかげさしで... – Paramu

関連する問題