C # में अगर मुझे एक stringदूसरे से अलग होना है तो मुझे stringऐसा कुछ करना होगा:
testString.Split(new string[] { "anotherString" }, StringSplitOptions.None);
अतिभारित String.SplitMSDN दस्तावेज़ीकरण से हम कार्यान्वयन देख सकते हैं और इस तरह की कॉल क्यों करनी पड़ती है।
पायथन से आ रहा है , मेरे लिए यह समझना मुश्किल है कि इस तरह की कॉल की आवश्यकता क्यों है। मेरा मतलब है कि मैं Regex.Splitअजगर के कार्यान्वयन की तुलना में एक समान वाक्यविन्यास प्राप्त करने के लिए उपयोग कर सकता हूं, लेकिन मुझे कुछ सरल के लिए कम प्रदर्शन (सेटअप समय) की कीमत पर करना होगा ।
तो मूल रूप से, मेरा सवाल यह है कि आखिर हम ऐसा क्यों नहीं कर सकते:
testString.Split("anotherString");
ध्यान दें कि मैं किसी भी प्रोटोटाइप का सुझाव नहीं दे रहा हूं और न ही कार्यान्वयन। मैं समझता हूं कि आप वर्तमान API पर विचार करते हुए उपरोक्त संस्करण क्यों लागू नहीं कर पाए। मेरा लक्ष्य यह समझना था कि इस तरह के एपीआई को उस लाभ पर विचार करके क्यों बनाया जा सकता है जो उपरोक्त सिंटैक्स लाता है। अब तक, लचीलापन वर्तमान का लक्ष्य प्रतीत होता है String.Splitजो समझ में आता है, लेकिन ईमानदार होने के लिए मुझे वास्तव में लगा कि कहीं न कहीं प्रदर्शन का कोई लाभ है। शायद कि मुझसे गलती हुई थी।
testString.Split(",.;");और testString.Split(new Char [] {',', '.', ';',);जो एक ही बात नहीं है।
IEnumerable<char>आप सुझाव दे रहे हैं कि आप कुछ अतिरिक्त मामलों में अस्पष्ट दिखाई दे सकते हैं, तो क्या आप एक स्ट्रिंग पर टाइप कर सकते हैं?
testString.Split("anotherString");, मुझे यह कहने के लिए पूरा विश्वास है कि अपेक्षित व्यवहार पूरे स्ट्रिंग पर ( anotherStringइस मामले में) परिसीमन करना था ।