uzyskując następujące przykłady:dynamiczny String.Format zależności od params
string amountDisplay = presentation.Amount == 1 ? "" : String.Format("{0} x ", presentation.Amount);
Czy mimo użyć String.Format więc formatów w zależności od właściwości bez konieczności zrobić stan „value” parametrów ?
inny przypadek użycia:
String.Format("({0}) {1}-{2}", countryCode, areaCode, phonenumber);
jeśli mam tylko phonenumber, chciałbym skończyć z czymś takim „() -5555555”, co nie jest pożądane.
innym przypadku użycia:
String.Format("my {0} has {1} cat[s]", "Aunt", 3)
w tym wypadku, że tutaj obejmuje S w [], jeśli wartość> 1 dla przykładu.
Czy istnieje jakaś czarna "składnia" String.Format, która usuwa części kodu w zależności od wartości parametrów lub wartości null?
Dzięki.
Możliwy duplikat http://stackoverflow.com/questions/154483/how-to-conditionally-format-a-string-in-net – mickfold
Można zrobić warunkowe na numery, które nie dyskryminuje dodatni, ujemny i zero - http://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SectionSeparator – eulerfx
@eulerfx Twój komentarz powinien być odpowiedzią. Dokładnie o to tutaj pytałem, czy jest jakiś sposób, aby to zrobić i udowodnisz doskonale. Inne rozwiązania są w porządku, ale są hackami, twoja jest to, co nazwałbym prawdziwą odpowiedzią na to pytanie. Możesz ją opublikować jako odpowiedź, więc mogę wybrać je jako właściwą. –