क्या मैं स्ट्रिंग.फॉर्मैट() का उपयोग मनमाने ढंग से वर्णों के साथ एक निश्चित स्ट्रिंग को पैड करने के लिए कर सकता हूं?पैड बाएं या दाएं स्ट्रिंग.फॉर्मैट (पैड बाएं या पैडराइट) के साथ मनमानी स्ट्रिंग
Console.WriteLine("->{0,18}<-", "hello");
Console.WriteLine("->{0,-18}<-", "hello");
returns
-> hello<-
->hello <-
अब मैं रिक्त स्थान को मनमाना चरित्र बनना चाहता हूं। कारण मैं पैडलिफ्ट या पैडराइट के साथ ऐसा नहीं कर सकता क्योंकि मैं प्रारूप स्ट्रिंग को किसी भिन्न स्थान/समय पर बनाने में सक्षम होना चाहता हूं, तो स्वरूपण वास्तव में निष्पादित किया जाता है।
--EDIT--
देखा है कि वहाँ मेरी समस्या के लिए एक मौजूदा समाधान मैं इस के साथ आया था (Think Before Coding's suggestion के बाद)
--EDIT2--
मैं जरूरत होने के लिए प्रतीत नहीं होता कुछ और अधिक जटिल स्थितियों तो मैं Think Before Coding's second suggestion
[TestMethod]
public void PaddedStringShouldPadLeft() {
string result = string.Format(new PaddedStringFormatInfo(), "->{0:20:x} {1}<-", "Hello", "World");
string expected = "->xxxxxxxxxxxxxxxHello World<-";
Assert.AreEqual(result, expected);
}
[TestMethod]
public void PaddedStringShouldPadRight()
{
string result = string.Format(new PaddedStringFormatInfo(), "->{0} {1:-20:x}<-", "Hello", "World");
string expected = "->Hello Worldxxxxxxxxxxxxxxx<-";
Assert.AreEqual(result, expected);
}
[TestMethod]
public void ShouldPadLeftThenRight()
{
string result = string.Format(new PaddedStringFormatInfo(), "->{0:10:L} {1:-10:R}<-", "Hello", "World");
string expected = "->LLLLLHello WorldRRRRR<-";
Assert.AreEqual(result, expected);
}
[TestMethod]
public void ShouldFormatRegular()
{
string result = string.Format(new PaddedStringFormatInfo(), "->{0} {1:-10}<-", "Hello", "World");
string expected = string.Format("->{0} {1,-10}<-", "Hello", "World");
Assert.AreEqual(expected, result);
}
के लिए चला गया क्योंकि कोड था भी एक पोस्ट में डाल करने के लिए बहुत थोड़ा है, मैं यह GitHub के लिए एक सार रूप में ले जाया गया:
http://gist.github.com/533905#file_padded_string_format_info
ऐसे लोग आसानी से इसे और शाखा कर सकते हैं जो कुछ भी :)
मैं
तो फिर तुम इसे इस तरह उपयोग कर सकते हैं लगता है कि आपको यह सुनिश्चित करना चाहिए कि स्ट्रिंग खाली नहीं है। क्या यह परीक्षण पास करेगा: स्ट्रिंग।फ़ामेट ("{0}", (पैडडस्ट्रिंग) "हैलो"); ? – configurator