C# 使用indexOf查找字符串中两个字符之一

C# 使用indexOf查找字符串中两个字符之一,c#,backend,C#,Backend,我有这个阵列: char[] signOfDecimal = {',', '.'}; 我试图在字符串中找到这两个字符之一的位置: locationOfDotInRate = myString.IndexOf(signOfDecimal[0], signOfDecimal[1]); 基本上,我试图检查这些字符中的一个可能出现在我的字符串中,但它不起作用。我这样做的原因是因为我的字符串有时包含“.”或“,”。您可以使用 有时值得一看VisualStudio的intellisense。如果输入my

我有这个阵列:

char[] signOfDecimal = {',', '.'};
我试图在字符串中找到这两个字符之一的位置:

locationOfDotInRate = myString.IndexOf(signOfDecimal[0], signOfDecimal[1]);
基本上,我试图检查这些字符中的一个可能出现在我的字符串中,但它不起作用。我这样做的原因是因为我的字符串有时包含“.”或“,”。

您可以使用


有时值得一看VisualStudio的intellisense。如果输入
myString.IndexOf
,它会显示您已经
IndexOfAny
,我可以看到您正在尝试解析可能来自不同地区的十进制数。小心您可能会得到一个像“1004”这样的数字,但无法分辨这是一千零四(逗号是千分分隔符)还是一点零零四(逗号是小数点)。如果您确定数字不能包含千分隔符,则可以。但这看起来有点不确定。对不起,伙计,但“它不起作用。”是一个悲惨的问题描述。你应该写下你得到了一个
ArgumentOutOfRangeException
,然后sombody可以向你解释你实际使用的是第二个字符(
signOfDecimal[1]
)被表示为
int
(UTF-16表示),它表示:搜索开始位置。当然,假设你想知道为什么你的错误会首先出现
locationOfDotInRate = myString.IndexOfAny(signOfDecimal);