Hello,
To count the occurrence of the character '\t' in a string, I think it is
necessary to have one iteration of all the characters. That is to say, the
time complexity of the issue should be O(n), where n is the length of the
string. StringBuilder exposes a direct access to its characters with its
Chars property "char StringBuilder[int index]"
http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.chars(VS.
71).aspx. When I use Lutz Roeder's .NET Reflector to look into
System.Text.StringBuilder.Chars, I find that get_Chars is simply
implemented by "return this.m_StringValue[index];". Therefore, it should be
faster than converting StringBuilder to a string object first, then
counting the character.
Below is my code list that demonstrates how to count the character '\t'
with StringBuilder.Chars property. Please have a test, and see if it fits
your request.
int CountTab(StringBuilder builder)
{
int count = 0;
for (int i = 0; i < builder.Length; i++)
{
if (builder
== '\t')
count++;
}
return count;
}
If you have any other questions or concerns, please feel free to let me
know.
Regards
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support
==================================================
For MSDN subscribers whose posts are left unanswered, please check this
document: http://blogs.msdn.com/msdnts/pages/postingAlias.aspx
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications. If you are using Outlook Express/Windows Mail, please make sure
you clear the check box "Tools/Options/Read: Get 300 headers at a time" to
see your reply promptly.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.