2012-11-02 11 views
13

में कनवर्ट करने के लिए कैसे करें मैं एक char सरणी के हिस्से को स्ट्रिंग में कनवर्ट करना चाहता हूं। उसे करने का सबसे अच्छा तरीका कौन सा है।एक char array के भाग को स्ट्रिंग

मैं जानता हूँ कि मैं क्या कर सकते हैं पूरे सरणी

char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'}; 
string s = new string(chars); 

लेकिन क्या सिर्फ उदाहरण के लिए तत्वों 2 से 4 के बारे में निम्नलिखित?

मुझे यह भी पता है कि मैं सरणी के माध्यम से लूप कर सकता हूं और उन्हें निकाल सकता हूं, लेकिन मुझे आश्चर्य हुआ कि क्या ऐसा करने का एक और संक्षिप्त तरीका था।

उत्तर

31

उपयोग String constructor overload जो एक चार सरणी, एक सूचकांक और लंबाई लेता है:

String text = new String(chars, 2, 3); // Index 2-4 inclusive 
+0

बहुत बढ़िया - धन्यवाद – Graham

1

अद्यतन

तुम भी LINQ के साथ ऐसा कर सकते हैं।

char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'}; 
char[] selected = chars.Where((c, index) => index >= 2 && index <= 3).ToArray(); 
string s = new String(selected); 
+0

यह संकलन नहीं होगा चयन के रूप में एक वापस नहीं करता है स्ट्रिंग। मैं स्किप का भी उपयोग करता हूं और इसके बजाय कॉल कहता हूं। –

+0

@ जोनस्केट अभी अपडेट किया गया ... –

+1

अब यह काम करेगा, लेकिन अक्षम और जटिल होगा। –

2

आप LINQ

char[] chars = { 'a', ' ', 's', 't', 'r', 'i', 'n', 'g' }; 
string str = new string(chars.Skip(2).Take(2).ToArray()); 

लेकिन बंद पाठ्यक्रम string overloaded constructor उपयोग कर सकते हैं जाने का रास्ता है

-1
string a = "Hello"; 
char []b = a.ToCharArray(); 

string as=null; 

//note this line is important 
as = new string(b); 
+1

-1: यह सवाल का जवाब नहीं देता है –

संबंधित मुद्दे