2017-02-06 1 views
7

मेरे कोड में क्या गलत है?सी # इनपुट स्ट्रिंग सही प्रारूप में नहीं थी?

public override string ToString() 
{ 
    return String.Format("Number : {0} \nFloors:{1} \nStreet \n{ \nName : {2},\nLength : {3}\n}",Number,Floors,Street.Name,Street.Length); 
} 
+0

संख्या, फर्श, स्ट्रीट नाम और स्ट्रीट। लम्बाई के प्रकार क्या हैं? –

+0

संख्या, मंजिलें और लंबाई int नाम स्ट्रिंग –

+2

टाइप कोई फर्क नहीं पड़ता, क्योंकि कोई प्रारूप विकल्प नहीं है। –

उत्तर

19

आप अपने कर्ली कोष्ठक से बचने के लिए की जरूरत है::

"Number : {0} \nFloors:{1} \nStreet \n{{ \nName : {2},\nLength : {3}\n}}" 

आप { या } की जरूरत है, जिसके परिणामस्वरूप स्ट्रिंग में, आप उन्हें {{ और }} के रूप में से बचने के लिए की जरूरत है यहाँ मेरी कोड है।

+0

यह काम करता है। धन्यवाद। –

+1

@EricHakobyan चूंकि उत्तर आपके लिए काम करता है, इसके आगे ग्रे चेक चेक पर क्लिक करके इसे स्वीकार करने पर विचार करें। यह अन्य साइट आगंतुकों को यह बताएगा कि आपको एक उत्तर मिला है, और आपको स्टैक ओवरफ़्लो पर एक नया बैज कमाता है। – dasblinkenlight

+0

मैं यह करता हूँ। धन्यवाद। –

8
सी # 6 मैं स्ट्रिंग प्रक्षेप का उपयोग करेंगे के साथ

:

public override string ToString() 
{ 
    return $"Number : {Number} \nFloors:{Floors} \nStreet \n{{ \nName : {Street.Name},\nLength : {Street.Length}\n}}"; 
} 

प्लस: के रूप में मैनफ्रेड Radlwimmer कहा गया है, आप {{ रूप { और }}} के रूप में से बचने के लिए की जरूरत है।

1

यदि सी # 6 नहीं है, तो स्ट्रिंगबिल्डर पर काम करें।

public override string ToString() 
{ 
    StringBuilder sb = new StringBuilder(); 
    sb.Append("Number : @number \nFloors:@floors \nStreet \[email protected] : @streetLength\n"); 
    sb.Replace("@number", Number) 
     .Replace("@floors", Floors) 
     .Replace("@streetName", Street.Name) 
     .Replace("@streetLength", Street.Length); 
    return sb.ToString(); 
} 
संबंधित मुद्दे

 संबंधित मुद्दे