【问题标题】:Store String Character in a Jagged Array将字符串字符存储在交错数组中
【发布时间】:2016-03-17 16:42:25
【问题描述】:

我有一个字符串,想在不使用 split() 方法的情况下将该字符串中的每个单词字符存储在一个锯齿状数组中,只是循环。我试过这段代码,但没有用,我希望结果是这样的:

sepwords[0][1] = {H,e,l,l,o};
sepwords[0][2] = {h,o,w};
sepwords[0][3] = {a,r,e};
sepwords[0][4] = {y,o,u};

我试过的代码:

for (int i = 0; i < length; i++)
{
    letters[i] = text[i];
}

foreach (char item in letters)
{
    for (int i = 0; i < length; i++)
    {
        if (letters[i] != ',' || letters[i] != ';' || letters[i] != '!' || letters[i] != '?' || letters[i] != '.' || letters[i] != ' ')
        {
            for (int j = 0; j < length; j++)
            {
                sepwords[0] = new char[length];
                sepwords[0][j] = letters[i];
            }
        }
        else
        {
            continue;
        }
    }

}

【问题讨论】:

    标签: c# string jagged-arrays


    【解决方案1】:

    你可以简单地这样做..

    char[][] sepwords = new char[4][];
    sepwords[0] = "Hello".ToCharArray();
    sepwords[1] = "how".ToCharArray();
    sepwords[2] = "are".ToCharArray();
    sepwords[3] = "you".ToCharArray();
    

    【讨论】:

      【解决方案2】:

      sepwords[0] = new char[length];

      当你遇到一个新单词时,你会用一个新的数组覆盖每个数组。

      【讨论】:

      • 但我尝试不使用此行并得到:未处理的异常:System.NullReferenceException:对象引用未设置为对象的实例
      • 好吧。是的。因为你没有初始化任何东西。要记住的关键是您每次都在访问sepwords[0]sepwords[1]呢?
      猜你喜欢
      • 1970-01-01
      • 2017-04-08
      • 2013-10-21
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      相关资源
      最近更新 更多