एफ # में मैं चार्स की एक सूची को स्ट्रिंग में बदलना चाहता हूं। निम्नलिखित कोड पर विचार करें: मैं बस lChars.ToString करते हैंस्ट्रिंग के लिए वर्णों की सूची कैसे बदलें?
let lChars = ['a';'b';'c']
, मैं "[; 'बी' 'सी' 'एक']" मिलता है। मैं "एबीसी" प्राप्त करने की कोशिश कर रहा हूं। मुझे एहसास है कि मैं संभवतया एक सूची कर सकता हूं। मुझे लगता है कि प्रभाव पाने के लिए मुझे लगता है लेकिन ऐसा लगता है कि ऐसा करने के लिए पुस्तकालय में कुछ आदिम बनाया जाना चाहिए।
इस पर थोड़ा सा संदर्भ देने के लिए, मैं स्ट्रिंग में अलग-अलग वर्णों पर कुछ जोड़-विमर्श कर रहा हूं और जब मैं कर रहा हूं, तो मैं परिणामी स्ट्रिंग को प्रदर्शित करना चाहता हूं।
मैंने इसे गुगल करने की कोशिश की है और इस तरह से कोई खुशी नहीं है। क्या मुझे बुलेट को काटने और इस परिवर्तन को करने के लिए List.reduce अभिव्यक्ति बनाने की आवश्यकता है या क्या ऐसा करने के लिए कुछ और शानदार तरीका है? यहाँ अभी तक अपने काम करने के लिए एक और अजीब तरीका है:: दुर्भाग्य से
type t =
| N
| S of string
static member Zero
with get() = N
static member (+) (a: t, b: t) =
match a,b with
| S a, S b -> S (a+b)
| N, _ -> b
| _, N -> a
let string_of_t = function
|N -> ""
|S s -> s
let t_of_char c = S (string c)
['a'; 'b'; 'c'] |> List.map t_of_char |> List.sum |> string_of_t
, बस 'शून्य' के सदस्य के साथ System.String विस्तार
नई System.String (lchars |> Array.of_list) काम करता है बस साथ ही। – Juliet
@ जेरेडपायर, धन्यवाद! बस वही जो चिकित्सक ने आदेश किया। मैंने सोचा कि स्ट्रिंग पर जाने के लिए कुछ आसान तरीका होना चाहिए। @ जुलिएट, आपको इसे एक उत्तर के रूप में पोस्ट करना चाहिए था :-) मैं इसे वोट दूंगा क्योंकि यह भी एक उत्कृष्ट सुझाव है। –
यदि आप .NET 4 या बाद में उपयोग कर रहे हैं, तो 'System.String.Concat (lChars) 'चाल भी करता है। –