2009-07-27 18 views
34

के साथ एक टेक्स्ट स्ट्रिंग को एन्कोड करना मेरे पास एक स्ट्रिंग है जो मैं प्रतिक्रिया के आउटपुटस्ट्रीम पर लिख रहा हूं। इस दस्तावेज़ को सहेजने के बाद और इसे नोटपैड ++ या वर्डपैड में खोलने के बाद मुझे अच्छी रूप से स्वरूपित लाइन ब्रेक मिलते हैं, जहां उनका इरादा है, जब मैं इस दस्तावेज़ को नियमित पुराने विंडोज नोटपैड के साथ खोलता हूं, तो मुझे [] वर्ग दिखने वाले प्रतीकों के साथ एक लंबी टेक्स्ट स्ट्रिंग मिलती है जहां रेखा ब्रेक होना चाहिए।सी # सी # में लाइन ब्रेक

क्या किसी के पास इसका कोई अनुभव है?

धन्यवाद

जिम

उत्तर

72

हाँ - यह आप \n का उपयोग कर रहे लाइन \r\n के बजाय तोड़ने के रूप में मतलब है। नोटपैड केवल उत्तरार्द्ध को समझता है।

(ध्यान दें कि Environment.NewLine दूसरों ने सुझाव दिया है, तो आप मंच डिफ़ॉल्ट चाहते ठीक है - लेकिन आप मोनो से सेवा कर रहे हैं, तो निश्चित रूप से और \r\n, आप इसे स्पष्ट रूप से निर्दिष्ट करना चाहिए चाहते हैं।)

+0

धन्यवाद जॉन। "मोनो से सेवा"? वह क्या है? – jim

+1

जैसा कि, "लिनक्स पर मोनो का उपयोग कर सर्वर को तैनात करना, और उस सर्वर को डेटा की सेवा करने के लिए कहना।" मोनो .NET का क्रॉस-प्लेटफ़ॉर्म कार्यान्वयन है - http://mono-project.com –

7

आज़माएं:

string myStr = ... 
myStr = myStr.Replace("\n", Environment.NewLine) 
+4

देखें यदि इनपुट स्ट्रिंग में दोनों \ n और \ r \ n ऐसे ऑपरेशन को तोड़ देंगे – abatishchev

+0

"मुझे एक लंबी टेक्स्ट स्ट्रिंग मिलती है [] स्क्वायर दिखने वाले प्रतीकों जहां लाइन ब्रेक होना चाहिए। " ऐसा लगता है कि यह मामला नहीं है। – Guillaume

+5

@ गुइलाइम: यह मामला * इस समय * नहीं है, लेकिन ऐसा कोई कारण नहीं है कि फ़ाइल में दो या दो से अधिक विभिन्न प्रकार के लाइन विभाजक नहीं हो सकते - मैं इसे हर समय वेब पृष्ठों में देखता हूं। जब आप न्यूलाइन को सामान्य बना रहे हैं तो आपको हमेशा तीनों प्रकार से मेल खाना चाहिए: 'Regex.Replace (@ "\ n | \ r \ n?", "\ R \ n") ' –

0

\ n \ n, यह काम करेगा! :)

public async Task AjudaAsync(IDialogContext context, LuisResult result){ 
await context.PostAsync("How can I help you? \n\n 1.To Schedule \n\n 2.Consult"); 
context.Wait(MessageReceived); 
} 
संबंधित मुद्दे