व्यक्तिगत रूप से मैंने TextInfo.ToTitleCase
विधि की कोशिश की , लेकिन, मुझे समझ में नहीं आता कि जब सभी वर्ण ऊपरी आवरण वाले होते हैं तो यह काम क्यों नहीं करता है।
हालांकि मुझे विंस्टन स्मिथ द्वारा प्रदान किया गया उपयोग फ़ंक्शन पसंद है , मुझे वह फ़ंक्शन प्रदान करने दें जो मैं वर्तमान में उपयोग कर रहा हूं:
public static String TitleCaseString(String s)
{
if (s == null) return s;
String[] words = s.Split(' ');
for (int i = 0; i < words.Length; i++)
{
if (words[i].Length == 0) continue;
Char firstChar = Char.ToUpper(words[i][0]);
String rest = "";
if (words[i].Length > 1)
{
rest = words[i].Substring(1).ToLower();
}
words[i] = firstChar + rest;
}
return String.Join(" ", words);
}
कुछ के साथ खेलना परीक्षण तार:
String ts1 = "Converting string to title case in C#";
String ts2 = "C";
String ts3 = "";
String ts4 = " ";
String ts5 = null;
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts1)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts2)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts3)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts4)));
Console.Out.WriteLine(String.Format("|{0}|", TitleCaseString(ts5)));
देते हुए आउटपुट :
|Converting String To Title Case In C#|
|C|
||
| |
||