簡體   English   中英

等價+ =用於前綴

[英]Equivalent of += for prefixing

是否有一些語法糖用於將數據加到字符串的開頭,其方式與+ =附加到字符串的方式類似?

只需使用:

x = "prefix" + x;

沒有復合賦值運算符可以執行此操作。

sorry = "nope, " + sorry;

你總是可以寫一個擴展方法:

public static class StringExtensions{

    public static string Prefix(this string str, string prefix){
        return prefix + str;
    }

}

var newString = "Bean".Prefix("Mr. ");

它不是語法糖,但很容易。 雖然它並不比已經建議的更簡單。

在C#中沒有= +運算符,但幸運的是OO來到這里救援:

string value = "Jamie";
value = value.Insert(0, "Hi ");

有關string.Insert的更多信息: http//msdn.microsoft.com/en-us/library/system.string.insert.aspx

我同意a = b + a似乎是最明智的答案。 它讀取比使用string更好。插入是肯定的。

這些是來自FCL的方法,可用於合並字符串,而無需使用任何連接運算符。 由於字符串和臨時字符串的性質,重復調用(即循環)時,+和+ =運算符很容易使用大量內存。 編輯:正如評論中所指出的,String.Format通常也不是一種有效的解決方案)

它更像是糖的語法替代品。

string full = String.Format("{0}{1}{2}", "prefix", "main string", "last string");

^有關MSDNString.Format的更多信息。

編輯:僅限兩個字符串:

string result = string.Concat("prefix", "last part");

^有關String.Concat的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM