Quando ho bisogno di stampare "00000", posso usare "0" * 5 in python. Esiste un equivalente in C# senza loop?Stampa Python "0" * 5 equivalente in C#
risposta
Sulla base del vostro esempio, immagino che userete queste stringhe per aiutare a azzerare alcuni numeri. In questo caso, sarebbe più semplice utilizzare il metodo String.PadLeft()
per eseguire il riempimento. Potresti usare la funzione simile anche in python, rjust()
.
esempio,
var str = "5";
var padded = str.PadLeft(8, '0'); // pad the string to 8 characters, filling in '0's
// padded = "00000005"
In caso contrario, se hai bisogno di una sequenza ripetuta di stringhe, che ci si vuole utilizzare il metodo String.Concat()
in combinazione con il metodo Enumerable.Repeat()
. L'utilizzo del costruttore di stringhe consente solo la ripetizione di un singolo carattere.
ad esempio,
var chr = '0';
var repeatedChr = new String(chr, 8);
// repeatedChr = "00000000";
var str = "ha";
// var repeatedStr = new String(str, 5); // error, no equivalent
var repeated = String.Concat(Enumerable.Repeat(str, 5));
// repeated = "hahahahaha"
Uno dei String ctor overloads farà questo per voi:
string zeros = new String('0', 5);
Per aggiungere alle altre risposte, non sarà in grado di utilizzare questo costruttore di stringhe con un'altra stringa per ripetere stringhe, come ad esempio string s = new string("O", 5);
. Funziona solo con caratteri.
Tuttavia, è possibile utilizzare Enumerable.Repeat()
dopo aver aggiunto using System.Linq;
per ottenere il risultato desiderato con le stringhe.
string s = string.Concat(Enumerable.Repeat("O", 5));
Non esiste un costruttore che ripete stringhe, solo per i personaggi. –
@Jeff Mercado Questo è quello che ho detto. – Scott
Ah oops, non ho notato che l'hai detto. È meglio escludere codice che non funzioni, quindi non confondere le persone come me per pensare che tu stia suggerendo che funzioni o, per lo meno, formattarlo in modo che non appaia come un codice normale. :) –
A seconda dell'applicazione, questo può essere utile anche:
int n = 0;
string s = n.ToString().PadRight(5, '0');
Non mai, mai usare questo: string.Join("0", new string[6]);
Perché non solo "00000 "?! anatre
Le anti-risposte possono essere buone se è possibile fornire una soluzione migliore. Questo è sicuramente qualcosa che non vuoi fare, ma scrivere la stringa letterale potrebbe non essere sempre fattibile. –
Questo funziona solo con lo zero: 0.ToString("D5");
- 1. È zero (-0) equivalente a zero (0) in C#
- 2. C# Parallel.Foreach equivalente in Python
- 3. Java stringa di stampa C++ equivalente
- 4. $ {BASH_SOURCE [0]} equivalente in zsh?
- 5. Equivalente Python di C++ getline()
- 6. Equivalente di __func__ (da C) in Python
- 7. Python, la stampa esadecimale rimuove il primo 0?
- 8. Scala equivalente ai generatori Python?
- 9. Python equivalente a C# s 'istruzione using
- 10. Esiste un equivalente a urllib di python in c/C++?
- 11. stampa di una matrice bidimensionale in python
- 12. Mix.env/0 equivalente in produzione env?
- 13. Equivalente per MvcHtmlString in ASP.NET 5?
- 14. C++ equivalente alla funzione len() di Python?
- 15. Python xml.etree.ElementTree equivalente alla libreria XML C++
- 16. Equivalente Sscanf in Objective-C
- 17. Python equivalente di un dato comando wget
- 18. Terminazione stringa - char c = 0 vs char c = '\ 0'
- 19. Equivalente in Python di Ruby's each_with_index?
- 20. C++ CString equivalente in C#
- 21. C# String.Format() Equivalente in PHP?
- 22. Equivalente TreeSet Java in Python?
- 23. di Python equivalente
- 24. C scanf equivalente in nodejs
- 25. Equivalente Jaxb in C#
- 26. PathCanonicalizza equivalente in C#
- 27. equivalente iif in C#
- 28. Stampa di un array 2D in C
- 29. Python 3 string.join() equivalente?
- 30. Come posso scrivere do-while (0) di C in Python?
C'è una differenza tra il '' STRING' e STRING'? – Mob
[Nope] (http://stackoverflow.com/questions/7074/in-c-sharp-what-is-the-difference-between-string-and-string) –