避免从字符串中截断前导加号

时间:2013-03-08 07:33:09

标签: c#

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;
   }

但这会截断前导加号,因为它们不是double或number的类型,所以ToString()没有重载来定义不删除的加号。有必要加号,但ItemArray.Getvalue()。ToString()总是删除它。我如何防止这种情况并获得领先标志?

1 个答案:

答案 0 :(得分:0)

将其存储为带前导+的字符串,或者只需添加如下:

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

修改

不确定类型是什么,但您可以检查+符号是否已存在:

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