[英]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.