2013-03-08 64 views
-1
DataTable dt = {a DataTable containing one column of strings in this format: "+12394837444"} 

所有成員都具有前導加號,此DataTable由這些成員組成,並且只有一列。我想借此從該表中的字符串完整的形式是:避免截斷字符串中的前導加號

for (int j = 0; j < dt.Rows.Count; j++) 
       { 
        System.Data.DataRow drow = dt.Rows[j]; 
        string total = drow.ItemArray.GetValue(0).ToString(); 
       } 
if(total.StartsWith("+")) 
    { 
    // we are ok 
    } 
else 
    { 
    string edited = "+" + total; 
    } 

但這截斷領先的加號,因爲這些都不是那種雙重或數字,然後將toString()方法沒有重載定義加號不能刪除。需要加號,但是ItemArray.Getvalue()。ToString()會一直刪除它。我如何防止這種情況,並得到領先的跡象呢?

+0

是'drow.ItemArray.GetValue(0)'真的是一個字符串還是一些數字類型?在後一種情況下,您必須使用包含+號的格式字符串String.Format() – TGlatzer 2013-03-08 07:34:49

+0

「drow.ItemArray.GetValue(0)'的類型是什麼? – 2013-03-08 07:35:44

+0

你知道,問題是,當我把數字我必須檢查,如果它有內部加號不從String.Format()添加。實際上我不想操縱我只是想知道它是否有加號。我必須檢查數字是否帶有加號,如果是,那麼它是好的,如果沒有,那麼我已經添加了一個前導1到 – 2013-03-08 07:37:43

回答

0

它要麼存儲爲與領先+一個字符串,或只是將它加入這樣的:

string total = "+" + drow.ItemArray.GetValue(0); 

編輯

不知道是什麼類型的,但你可以檢查+標誌已經在那裏:

string total = drow.ItemArray.GetValue(0).ToString(); 
if (total.IndexOf('+') != 0) { 
    total = "+" + total; 
} 
+0

我想檢查它是否有加號本身,我想檢查它是否有標誌本身,然後數字是好的,如果它沒有,那麼我給它添加一個+1 – 2013-03-08 07:41:20

+0

這一行:drow.ItemArray。 GetValue(0).ToString()刪除+號。我在調試模式下檢查過它。只是它在doint ToString()部分時保存數字本身 – 2013-03-08 07:49:51