Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Chrtran in .NET
Message
From
09/11/2008 13:14:37
 
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Title:
Environment versions
Environment:
C# 3.0
OS:
Windows XP
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01360482
Message ID:
01360775
Views:
40
This message has been marked as a message which has helped to the initial question of the thread.
>Thanks, Greg. I'll review the code this weekend.
>

Here's version two of the ChrTran with speed improvement
String.Length is a call to a method get_Length()

if we loop backwards then the call is only made once instead of every iteration
The to.Length is also called once and stored in a variable
public static partial class ExtensionMethods
	{

		public static string ChrTran(this string s, string from, string to)
		{
			var sb = new StringBuilder(s, s.Length);

			int i, j, toLen = to.Length;

			for (i = sb.Length; --i >= 0; )
			{
				if ((j = from.IndexOf(sb[i])) >= 0)
				{
					if (j < toLen)
					{
						sb[i] = to[j];
					}
					else
					{
						sb.Remove(i, 1);
					}
				}
			}

			return sb.ToString();
		}

	}
Gregory
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform