繁体   English   中英

如何将string.empty替换为“ 0”

[英]How to replace string.empty to “0”

就像标题说的那样。

我试着做str.Replace("","0"); 但这给了我错误,因为oldValue长度为零。

是否可以将string.Empty替换为某些内容?

编辑:

我正在维护一个程序,但遇到程序正在调用将返回字符串然后转换为Int32的方法。

int x = Convert.toInt32(Method1());

public string Method1()
{
      string retString = string.Empty;
      //Do Something
      return retString
}

String.Replace具有两个字符串参数oldValue和newValue。 您将newValue指定为0,但是对于oldValue而言,空字符串不合法。

尝试下面的代码:-

str.Replace(" ","0"); 

或者您也可以将空字符串指定为“ 0”,如下所示:

if(str == string.Empty)
{
   str = "0";
}

或简单点:

String.IsNullOrWhiteSpace(str) ? "0" : str;

您不能替换 字符串中的空字符串 ,但是可以替换,例如, 空格

  str = str.Replace(" ", "0"); // providing str is not null

或者,您可以空字符串替换"0"

  if (String.IsNullOrEmpty(str))
    str = "0";

string 解析int您可以执行以下操作:

  int x = String.IsNullOrEmpty(str) ? 0 : Convert.ToInt32(str);

在method()中,您可以执行以下操作:

return String.IsNullOrEmpty(retString) ? "0" : retString;

您可以使用此单行代码简单地为空,零长度或空格字符串返回"0"

return String.IsNullOrWhiteSpace(str) ? "0" : str;

如果要检查该值是否为空,然后将该值设置为零,否则使用默认值,可以使用内联,如下所示:

return string.IsNullOrWhiteSpace(retString ) ? "0" : retString;

如果知道str为空,则可以使用star =“ a”。如果要检查,请在if条件中编写语句。

编辑后:

要将空字符串转换为0并将非空字符串解析为整数,我根本不会处理"0" ,而是将两者合并在一个方法中。 例如:

int Parse(string s, int d = 0) {
  if (string.IsNullOrEmpty(s))
    return d;

  return int.Parse(s);
}

尝试这个...

public string Method1()
{
      string retString = string.Empty;
      //Do Something
      return string.IsNullOrEmpty(retString)?"0":retString;
}

无法将string.Empty替换为“ 0”。 它将引发ArgumentException。

    An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll.
Additional information: String cannot be of zero length.

您可以尝试以下代码:

if(retString == string.Empty)
{
retString = "0";
}

听起来,最好的选择是int.TryParse ,如果遇到无法设置为有效值的字符串,它将把它设置为整数(0)的默认值,并返回一个布尔值,因此您可以知道这已经发生了。

int myInt;
if(!int.TryParse(myStringVariable, out myInt))
{
    //Invalid integer you can put something here if you like but not needed
    //myInt has been set to zero
}
//The same code without the if statement, still sets myInt
int.TryParse(myStringVariable, out myInt);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM