C#从'string'中提取单个字符

时间:2016-12-17 10:55:40

标签: c# arrays

C#newbie ...(再次) 慢慢习惯String类(以及其他一切!) 想知道如何像char []数组一样操纵chars

我的代码如下 -

    private void sendString(String stringToSend)
    {
        for(int p=0; p < stringToSend.Length; p++)
        {
            // I want to select individual characters from stringToSend
            Console.Write(stringToSend);  **<< XX HERE ? XX**
            // followed by an inter-character delay
        }
    }

当然,这适用于整个字符串。但是我只希望一次发送一个字符,并且在字符之间有延迟。 TIA

2 个答案:

答案 0 :(得分:3)

您可以使用字符串indexer来访问其各自的字符,如下所示:

private void sendString(String stringToSend)
{
    for(int p=0; p < stringToSend.Length; p++)
    {
        Console.Write(stringToSend[p]);
        Thread.Sleep(10);
    }
}

答案 1 :(得分:1)

首先解决方案是使用索引器

 private void sendString(String stringToSend)
{
    for(int p=0; p < stringToSend.Length; p++)
    {
        Console.Write(stringToSend[p]);
        //delay code syntax here

    }
}

第二种解决方案是使用ToCharArray函数将字符串转换为字符数组。

    private void sendString(String stringToSend)
{
    char[] sendchar = stringToSend.ToCharArray();
            foreach (char item in sendchar)
            {
                Console.Write(item);
                //delay here
            }
}

但是使用第一个解决方案会更好。因为它会简单地遍历字符串并使用ToCharArray()将分配新的内存(额外)。

相关问题