Wie wäre es damit:
if (text[text.Length - 3] == ',')
{
StringBuilder builder = new StringBuilder(text);
builder[text.Length - 3] = '.';
text = builder.ToString();
}
EDIT: I Hoffnung Die obige Vorgehensweise ist so ziemlich die effizienteste. Sie könnten versuchen, stattdessen ein Char-Array zu verwenden:
if (text[text.Length - 3] == ',')
{
char[] chars = text.ToCharArray();
chars[text.Length - 3] = '.';
text = new string(chars);
}
Verwendung von Substring
funktioniert zwar auch, aber ich glaube nicht, dass es besser lesbar ist:
if (text[text.Length - 3] == ',')
{
text = text.Substring(0, text.Length - 3) + "."
+ text.Substring(text.Length - 2);
}
EDIT: Ich bin davon ausgegangen, dass Sie in dieser Situation bereits wissen, dass der Text mindestens drei Zeichen lang sein wird. Wenn das nicht der Fall ist, würden Sie offensichtlich wollen einen Test für das auch.