Cho các ví dụ sau:String.Format động phụ thuộc vào params
string amountDisplay = presentation.Amount == 1 ? "" : String.Format("{0} x ", presentation.Amount);
là có anyway để sử dụng String.Format nên định dạng tùy thuộc vào đặc tính mà không cần phải làm một điều kiện của các 'giá trị' của các thông số ?
một trường hợp sử dụng:
String.Format("({0}) {1}-{2}", countryCode, areaCode, phonenumber);
nếu tôi chỉ có phonenumber, tôi sẽ kết thúc với một cái gì đó giống như "() -5.555.555" mà không phải là mong muốn.
một trường hợp sử dụng:
String.Format("my {0} has {1} cat[s]", "Aunt", 3)
trong trường hợp này, tôi muốn bao gồm các s trong [] nếu giá trị> 1 ví dụ.
Có bất kỳ 'cú pháp' màu đen nào của String.Format loại bỏ các phần mã tùy thuộc vào giá trị của tham số hay không?
Cảm ơn.
có thể trùng lặp của http://stackoverflow.com/questions/154483/how-to-conditionally-format-a-string-in-net – mickfold
Bạn có thể làm điều kiện về con số mà phân biệt đối xử giữa tích cực, tiêu cực và không - http://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SectionSeparator – eulerfx
@eulerfx nhận xét của bạn phải là câu trả lời. Đó là chính xác những gì tôi đã yêu cầu ở đây, nếu có một cách để làm điều đó và bạn chứng minh hoàn hảo. Các giải pháp khác là ok nhưng là hack, của bạn là những gì tôi sẽ gọi một câu trả lời thực sự cho câu hỏi. Cảm thấy tự do để đăng nó như là một câu trả lời để tôi có thể chọn chúng như là một trong những quyền. –