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