Bir dizedeki karakter sayısını nasıl sayarım ve aynı sayıda karaktere sahip başka bir dizgi oluşturabilirim, ancak tümünü "*" gibi tek bir karakterle değiştirebilir miyim? Teşekkür ederim. TabiiC# - Dize uzunluğunu sayın ve her karakteri başka bir ile değiştirin
cevap
string newString = new string('*', oldString.Length);
, şifre eşdeğerleri görüntülemek için, bu yıldız işaretleri sabit sayıda kullanmak daha iyi olabilir edilir - daha az ipucu daha iyi. Tabii ki, (tuzla) şifre karma ve sadece sağlamasını depolamasını açıkçası olmak beri ediyorum, gerçek uzunluğunu bilmezsin zaten
;-p Başka bir çözüm olacaktır:
Console.Write(System.Text.RegularExpressions.Regex.Replace("test",".", "*"));
Performans açısından bakıldığında, böyle bir amaç için bir Regex nesnesi oluşturmak son derece yanlış olur. Yukarıdaki dize yöntemleri daha performanslı olacaktır. – Qwerty
yah, biliyorum ama soru herhangi bir perfomance isabet sormadı gibi görünüyor. – daxsorbito
Lütfen "bir Regex nesnesi oluşturmak için ... bir performans perspektifinden" yedekleyin. Burada ideal bir çözüm olmasa da, bu kötü bir "erken optimizasyon tahmin" olgusu gibi kokuyor. –
var message = "hello world" ;
var newMessage = new String('*', message.Length);
Mesajını kullanın.Length yerine –
kabul edildi, aptal yazım hatası. Teşekkürler! – Qwerty
Bu ev işi mi? – Nate
Hayır, kişisel proje. – user