C# 使用string.Replace(char,char)不会修改我的字符串
我有一个输入字符串C# 使用string.Replace(char,char)不会修改我的字符串,c#,C#,我有一个输入字符串input,值为0.003 m 我需要对它做一些事情 剥掉末端的标签 将所有点()替换为逗号(,) 这就是我想到的: try { if (input == "") { throw new Exception("Cannot have an empty String") } if(input.Contains('.')) { input.Replace('.', ','); } cha
input
,值为0.003 m
我需要对它做一些事情
- 剥掉末端的标签
- 将所有点(
)替换为逗号(
),
try
{
if (input == "")
{
throw new Exception("Cannot have an empty String")
}
if(input.Contains('.'))
{
input.Replace('.', ',');
}
char[] CharactersToStrip = { ' ', 'm', 'k', 'g' };
string output = input.TrimEnd(CharactersToStrip);
return output;
}
catch (Exception Exception)
{
throw new Exception(Exception.Message);
}
字符串是不可变的,您必须重新分配它:
input=input.Replace('.',')代码>
关于例外问题,有几点要说:
- 不要抛出常规的
异常
,而是抛出更具描述性的子类
- 同上,但“抓”而不是“扔”
- 命名变量
异常
将导致大量混乱,并违反命名约定
您需要将替换项分配回输入:
if (input.Contains('.'))
{
input = input.Replace('.', ',');
}
此外,您的try catch
完全是多余的。您所做的只是销毁堆栈信息,所以请将其完全删除。唉,这是漫长的一天。我需要给被替换的字符串一个值,它本身不固定
例如,input=input.replace('.',',')代码>
无论如何,谢谢。所以,就像自言自语一样,有时你只需要找到一个令人困扰的问题:)不要命名你的异常变量exception
。最好完全删除try-catch,因为它没有意义。感谢您的提示,这是在调试环境中找到异常的。谢谢您的回答。谢谢你的提示和关注。我把它们放在心上。我们都在学习,我为此感谢你。