【发布时间】:2015-07-16 16:02:52
【问题描述】:
我必须从我们的 Web 服务客户端项目中的字符串中删除前导和尾随数字字符,因为出于某种原因,挪威另一端的 Web 服务不接受 Nicosia 1121 作为字符串...
所以我决定构建一个可以重复使用的小函数:
public static string CleanNosFromStr(string text, char charsToRemove)
{
var CleanedStr = text.TrimEnd(charsToRemove).TrimStart(charsToRemove);
return CleanedStr.ToString();
}
我想这样称呼它:
char chars2Remove= new string("0,1,2,3,4, 5,6,7,8,9,0, ").Split(",");
wsSoapBody.CardCity =
myextensions.CleanNosFromStr(aMessage[(int)cardCreate.CardCity].ToString(),chars2Remove);
但它不会编译...
我得到的编译错误是:
'string.String(char*)' 的最佳重载方法匹配有一些无效参数
参数 1:无法从 'string' 转换为 'char*'
我哪里出错了,有没有更好的方法?
我当然可以使用
wsSoapBody.CardCity = aMessage[(int)cardCreate.CardCity].ToString().TrimEnd
('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ' ').
TrimStart('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ' ');
但我希望有一些可重复使用的东西。
谢谢
【问题讨论】:
-
你读过编译错误信息吗? (你应该包括它......)你明白了吗?你明白
char是一个单个字符,而不是一个数组吗? -
改成char[] charsToRemove
-
@JonSkeet:我确实读过它,但还不够理解。你是对的,我将编辑问题以包含编译错误。
-
您应该尝试更多地了解诊断问题 - 一旦遇到您不理解的编译器错误,您应该停止而不是引发更多错误。