2010-08-27 21 views
10

मैं निम्नलिखित कोड है:पैडलिफ्ट क्यों काम नहीं कर रहा है?

string foo = "blah".PadLeft(4, ' '); 

लेकिन जब मैंने उसे जाँच, foo (शुरू में रिक्त स्थान 4) के साथ "____blah" होने के बजाय, यह सिर्फ "blah" है। पैडलेफ्ट ऐसा क्यों नहीं करता जो मैं उम्मीद करता हूं?

उत्तर

18

क्योंकि first argument is total length of resulting string और पैड के लिए वर्ण की संख्या नहीं है। तो अपने उदाहरण में आप के बजाय 4.

+3

उह, ठीक है .... यह कम से कम मेरे लिए अजीब व्यवहार है। .. मदद के लिए धन्यवाद :) – RCIX

+4

@RCIX: यह काफी स्मार्ट व्यवहार है, क्योंकि पैड के लिए सबसे आम उपयोग एक फिक्स लम्बाई स्ट्रिंग बनाना है और फिर उपयोग करना बहुत आसान है, लंबाई की गणना करने की कोई आवश्यकता नहीं है। –

+0

@ एल्बिन सुन्नानबो: धन्यवाद, यह खुद को बेहतर नहीं कह सकता था। –

2

8 का उपयोग करना चाहते PadLeft को पहला तर्क कुल जिसके परिणामस्वरूप लंबाई आप चाहते हैं निर्दिष्ट करता है। चूंकि "ब्लाह" चार वर्णों से अधिक शुरू होता है, जब आप चार की लंबाई निर्दिष्ट करते हैं तो कोई पैडिंग नहीं जोड़ा जाता है। यदि आप चार रिक्त स्थान डालना चाहते हैं, तो अपनी कॉल को string foo = "blah".PadLft(8, ' '); पर बदलें क्योंकि डिफ़ॉल्ट पैडिंग वर्ण एक स्थान है, इसलिए आप इसे निर्दिष्ट कर सकते हैं और केवल string foo = "blah".PadLeft(8)

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