तो ... मैं जहाँ मैं एक foreach पाश कि स की एक सूची के माध्यम से लूप जांच करने के लिए चयन किया जाता है जो है इस परिदृश्य है। प्रत्येक चयनित चेकबॉक्स के लिए, मुझे एक बहुत लंबी स्ट्रिंग कॉन्सटेनेशन करना है, जिसमें 20 वर्णों की औसत लंबाई के 30 अलग-अलग तार शामिल हैं, और फिर इसे HTTP अनुरोध के रूप में भेजें। तारों में से 2 चयनित चेकबॉक्स के सूचकांक/मान पर निर्भर हैं।स्ट्रिंग कड़ी बनाम स्ट्रिंग बिल्डर संलग्न
स की सूची की लंबाई उपयोगकर्ता के डाटा के आधार पर भी चर रहा है। मैं कहूंगा कि सूची की औसत लंबाई 20 होगी, लेकिन यह 50-60 तक जा सकती है। तो सबसे खराब स्थिति परिदृश्य 60 या इतने बार पूरे स्ट्रिंग concatenation प्रदर्शन करेगा।
अब मैं '+' ऑपरेटर के माध्यम से सरल स्ट्रिंग संयोजन के साथ कर रहा हूँ के लिए, लेकिन अगर यह stringbuilder साथ यह करने के लिए तेजी से होगा मैं सोच रहा हूँ। बेशक, इसका मतलब है कि मुझे या तो लूप के भीतर एक स्ट्रिंगबिल्डर ऑब्जेक्ट बनाना होगा, या लूप से पहले इसे बनाना होगा और स्ट्रिंगबिल्डर को कॉल करना होगा। HTTP अनुरोध भेजने के बाद इसके अंत में हटाएं।
मैं सराहना किसी भी अंतर्दृष्टि किसी को भी इस मुद्दे के बारे में साझा कर सकते हैं।
संपादित
सभी उत्तर सबके लिए धन्यवाद, मैं क्या इकट्ठा किया है, मुझे इस करने के बारे में जाना से सबसे अच्छा तरीका है के लिए किया जाएगा तो कुछ की तरह:
मैं क्षमा चाहता हूं, ऐसा लगता है कि मैं स्ट्रिंगबिल्डर को काफी अच्छी तरह समझ नहीं पा रहा हूं। तो स्ट्रिंगबिल्डर को कॉल करना। टॉस्ट्रिंग() स्ट्रिंगबिल्डर को साफ़ करता है? – Kronon
नहीं। लंबाई संपत्ति को शून्य पर सेट करना इसे साफ़ करता है। –
someStringBuilder.length = 0; –