C# 是否可以将字符串中的字符与字符集进行比较?

C# 是否可以将字符串中的字符与字符集进行比较?,c#,C#,在解析字符串的过程中,我想决定何时停止并从字符串中获取下一部分。我的主要目标是取3部分长度不超过26个字符的字符串。我觉得我的代码有点奇怪 for (basis=i*26; basis<name.Length && name[basis] != ' ' && name[basis] != '-' && name[basis]

在解析字符串的过程中,我想决定何时停止并从字符串中获取下一部分。我的主要目标是取3部分长度不超过26个字符的字符串。我觉得我的代码有点奇怪

for (basis=i*26; basis<name.Length
                    && name[basis] != ' '
                    && name[basis] != '-'
                    && name[basis] != '('
                    && name[basis] != ')'
                    && name[basis] != ';'
                    && name[basis] != ','
                    && name[basis] != '.'
                    && name[basis] != '"';
            basis--) ;

for(basis=i*26;basis您应该能够使用一个集合:

var excludes = new HashSet<Char> { ' ', '-', ... };

传入的挑剔;-)新哈希集的可读性(新[]{','-',…})可以通过放弃临时数组的创建并只使用集合初始值设定项语法来改进:
newhashset{“”,'-',…}@elgonzo太棒了!我选择了所需的Java类(其集合初始值设定项只是…糟糕…),所以我试着记住C#速记,但这就是我想到的全部。很高兴记得还有一个更好的。使用正则表达式。停止滚动为您提供的东西的您自己的实现
excludes.contains(someChar)