就像标题所说的那样。
我尝试过str.Replace("","0");
,但它给了我错误,因为oldValue
的长度为零。
是否可以将string.Empty
替换为某些内容?
编辑:
我正在维护一个程序,我遇到程序正在调用一个方法,它将返回一个字符串,然后转换为Int32。
int x = Convert.toInt32(Method1());
public string Method1()
{
string retString = string.Empty;
//Do Something
return retString
}
答案 0 :(得分:2)
String.Replace接受两个字符串参数oldValue和newValue。您指定了newValue 0,但是对于oldValue,空字符串不合法。
尝试以下代码: -
str.Replace(" ","0");
或者您只需将“0”分配给emptry string,如下所示: -
if(str == string.Empty)
{
str = "0";
}
或简单化: -
String.IsNullOrWhiteSpace(str) ? "0" : str;
答案 1 :(得分:1)
你不能在字符串中替换 空字符串,但你可以替换 spaces ,例如
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);
答案 2 :(得分:1)
在方法()中你可以这样做:
return String.IsNullOrEmpty(retString) ? "0" : retString;
答案 3 :(得分:1)
您只需使用此单行返回"0"
为null,零长度或空白字符串:
return String.IsNullOrWhiteSpace(str) ? "0" : str;
答案 4 :(得分:1)
如果要检查值是否为空,然后将值设置为零,否则使用默认值,如果是这样,可以使用内联:
return string.IsNullOrWhiteSpace(retString ) ? "0" : retString;
答案 5 :(得分:0)
如果您知道str为空,那么您可以使用star =“a” 如果你想检查if语句中的write语句。
答案 6 :(得分:0)
编辑后:
要将空字符串转换为0
,并将非空字符串解析为整数,我根本不会处理"0"
,而是将两者合并为一个方法。例如:
int Parse(string s, int d = 0) {
if (string.IsNullOrEmpty(s))
return d;
return int.Parse(s);
}
答案 7 :(得分:0)
试试这个...
public string Method1()
{
string retString = string.Empty;
//Do Something
return string.IsNullOrEmpty(retString)?"0":retString;
}
答案 8 :(得分:0)
无法用" 0"替换string.Empty。它将抛出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";
}
答案 9 :(得分: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);