文字列の先頭にデータの接頭辞を付けるのに、文字列に+を追加するのと同様の方法で構文上の砂糖が少しありますか?接頭辞に+ =を付けたもの
答えて
だけ使用します。
x = "prefix" + x;
これを行い何も複合代入演算子はありません。
ありがとうジョン(トニー)。私はあなたのコメントを考慮に入れました。 –
sorry = "nope, " + sorry;
これらは、連結演算子を使用することなく、文字列をマージするために使用できるFCLのメソッドです。 +と+ =演算子は、作成された文字列と一時文字列の性質のため、繰り返し呼び出されたとき(つまりループ)に多くのメモリを使用する傾向があります。 (編集:コメントで指摘されているように、String.Formatは効率的な解決策でもないことがよくあります)
これは砂糖よりも構文的に優れています。
string full = String.Format("{0}{1}{2}", "prefix", "main string", "last string");
^String.Format at MSDNの詳細情報
編集:String.Concat上
string result = string.Concat("prefix", "last part");
^詳細情報:ただ、二つの文字列のため。
String.Formatを繰り返し使用することは、問題のようになります。 String.Concatを使用すると、文字列を連結するだけで、String.Formatを使用するより効率的です。ループ内での連結は、String.Formatではなく、StringBuilderを使用する方が良い可能性があります。 –
このようにString.Formatを使用することは非常に非効率的です。 CPUの使用ははるかに悪く、RAMも浪費します。代わりにString.Concatが必要です:string full = String.Concat( "prefix"、 "main string"、 "last string")。 String.Concatにループで構築した文字列[]を渡すこともできます(例えば、リスト
ありがとうございます。非常に役立ちます。 –
あなたは常に拡張メソッドを書くことができます:
public static class StringExtensions{
public static string Prefix(this string str, string prefix){
return prefix + str;
}
}
var newString = "Bean".Prefix("Mr. ");
それはそれにもかかわらず糖衣構文が、簡単ではありません。すでに提案されているものよりも単純ではありませんが。
ありC#で何= +演算子はありませんが、ありがたいことにOOがここに救助に来る:string.Insert詳細について
string value = "Jamie";
value = value.Insert(0, "Hi ");
:http://msdn.microsoft.com/en-us/library/system.string.insert.aspx
私は同意するだろうという= B + aはここで最も賢明な答えのようです。それはstring.Insertを使用するよりもはるかによく読んでいることは確かです。
おかげでニック。私は最後にString.Concatメソッドを使うことにしました。 –
- 1. ActionFilterAttribute.OnActionExecutedは、json本体のプロパティにアンダースコアを付けた接頭辞
- 2. 接頭辞付きのAutoMapper
- 3. 日付オブジェクト接頭辞#vb.net
- 4. コードイグナイタテーブルのエイリアスの前にdb接頭辞を付けます
- 5. 特定のシナリオのエンティティフレームワークエンティティに接頭辞を付けますか?
- 6. 複数の件名接頭辞にformat-patchを付ける
- 7. 接頭辞付きのDjangoのキーエラー
- 8. 接頭辞$ http url
- 9. すべてのLiferayテーブルの既定のテーブル名に接頭辞を付ける
- 10. 接頭辞から接頭辞への計算
- 11. すべてのURLに仮想フォルダ名の接頭辞を付けます
- 12. データベーステーブル名の接頭辞
- 13. 接頭辞にwwwを付けるとスタイルシートがレンダリングされません
- 14. regexp:tw-接頭辞付きの単語(オプションの引用符付き)
- 15. ファイルの先頭にLF接頭辞を付けるPHPを停止する方法
- 16. コントローラの名前または接頭辞
- 17. 塩とパスワード - 接頭辞または接尾辞
- 18. EditText各行の接頭辞
- 19. 16ビットモードのオペランドサイズ接頭辞
- 20. プロビジョニングプロファイルの接頭辞は、
- 21. 選択したテキストに接頭辞と接尾辞を追加するには
- 22. マルチライン・レコードリーダー(スタート接頭辞=エンドプレフィックス)
- 23. C#の接頭辞文字列の複数行の書式設定(接頭辞@)
- 24. Fluent Nhibernateコンポーネント接頭辞
- 25. Unit: "test"と "should"のテストメソッドの接頭辞
- 26. React Native ListView:アイテムの前に接頭辞
- 27. Symfony2でのロケール付きルートの接頭辞
- 28. Doctrine接頭辞または接尾辞なしの配列を取得
- 29. 接頭辞付きFormCollection項目を返す
- 30. 接頭辞のタグ付き解析.xml? xml.etree.ElementTree
引数を逆にして+ =を呼び出すことはできませんか?私はC#に精通していないが、それはJavaで動作します。 – I82Much
は、最初の文字列を2番目の文字列に追加し、2番目の文字列を最初の文字列の先頭に追加しないでください。結果は同じ文字列になりますが、間違った変数 –
@ l82Muchにあります。確かにあなたは次のようなことをする必要があります:s = "Prepend" + = s; – Lazarus