簡體   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