সি # তে আমি যদি stringঅন্যকে দিয়ে আলাদা করতে চাই তবে আমাকে stringএরকম কিছু করতে হবে:
testString.Split(new string[] { "anotherString" }, StringSplitOptions.None);
ওভারলোড হওয়া String.Splitএমএসডিএন ডকুমেন্টেশন থেকে আমরা বাস্তবায়ন দেখতে পাচ্ছি এবং কেন এইরকম কল করতে হবে।
পাইথন থেকে আগত , কেন এই ধরণের কল প্রয়োজন তা সঠিকভাবে বুঝতে আমার পক্ষে কঠিন। আমার অর্থ আমি Regex.Splitপাইথনের প্রয়োগের চেয়ে অনুরূপ সিনট্যাক্স পেতে ব্যবহার করতে পারি তবে সাধারণ কোনও কিছুর জন্য কম পারফরম্যান্স (সেটআপ সময়) ব্যয় করে আমাকে এটি করতে হবে ।
সুতরাং মূলত, আমার প্রশ্ন হ'ল কেন আমরা ঠিক করতে পারি না:
testString.Split("anotherString");
মনে রাখবেন যে আমি কোনও প্রোটোটাইপ বা বাস্তবায়ন করার পরামর্শ দিচ্ছি না। আমি বুঝেছি আপনি কেন বর্তমান এপিআই বিবেচনা করে উপরের সংস্করণটি প্রয়োগ করতে পারেন নি। আমার লক্ষ্য ছিল উপরোক্ত সিনট্যাক্সটি যে উপকারটি নিয়ে আসে সে বিবেচনা করে কেন এমন একটি এপিআই তৈরি করা যেতে পারে। আপাতত, নমনীয়তা বর্তমানের লক্ষ্য বলে মনে হয় String.Splitযা বোধগম্য হয় তবে সত্য বলতে সত্যই আমি ভেবেছিলাম যে কোথাও কোথাও একরকম পারফরম্যান্স লাভ রয়েছে। আমার ধারণা আমি ভুল ছিলাম।
testString.Split(",.;");এবং testString.Split(new Char [] {',', '.', ';',);যা একই জিনিস নয়।
IEnumerable<char>অতিরিক্ত প্রোটোটাইপটি আপনি প্রস্তাব দিচ্ছেন কিছু ক্ষেত্রে অস্পষ্ট দেখা যেতে পারে (আপনি কি পুরো স্ট্রিং দিয়ে বিস্মৃত করেন বা এর প্রতিটি অক্ষর দিয়েই সীমান্তে রেখেছেন?) মাত্র একটি অনুমান।
testString.Split("anotherString");আমি এই কথাটি বলতে বেশ আত্মবিশ্বাসী যে প্রত্যাশিত আচরণটি পুরো স্ট্রিংয়ে ( anotherStringএই ক্ষেত্রে) সীমাবদ্ধ করা উচিত ছিল ।