如何通过索引获取字符串中的字符?

72

我知道可以使用 indexOf() 函数返回字符串中特定字符的索引,但是如何返回特定索引处的字符呢?


1
我确定我漏掉了什么,但是如果您知道在调用indexof()时要使用的字符,为什么还需要从字符串中获取它呢?您可以使用可能的indexof()来返回该字符并证明其首先存在于字符串中。 - Mike Two
3
是的,缺少阅读能力。原帖并没有说作者已经掌握了这个汉字,甚至与此相关的任何信息。 - Jim Balter
@MikeTwo 问题提出者不知道字符的索引。 - Ctrl S
2个回答

99
string s = "hello";
char c = s[1];
// now c == 'e'

另请参考 Substring,以返回多个字符。


16

你的意思是这样吗

int index = 2;
string s = "hello";
Console.WriteLine(s[index]);

字符串也实现了 IEnumberable<char> 接口,所以你也可以这样枚举它:

foreach (char c in s)
    Console.WriteLine(c);

我该如何使用你的第二个选项(枚举),但是每次计算两个字符?例如,“4567”将首先输出“45”,然后是“67”。我该怎么做呢?谢谢 :) - Momoro
@Momoro:foreach (string substring in s.Chunk(2)) { ... }Enumerable.Chunk 是.NET 6+内置的,你可以在这里找到其他版本的示例实现:https://dev59.com/S2ct5IYBdhLWcg3wD5SU - Heinzi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接