【问题标题】:how to copy received data from string into 1d char array c# forms如何将接收到的数据从字符串复制到一维字符数组c#表单中
【发布时间】:2020-09-10 07:53:38
【问题描述】:

所以我只是学习 C# 并尝试使用数组,我通过表单应用程序从用户那里获取输入并希望将其复制到名为 prevPos 的数组中,格式如下

接收数据(字符串):

string1: "hello"
string2: "123"
       //counting how many lines and using that to determine position associated with each 
       recieved 
      char[] prevPos;
      prevPos = textBox_ReceievedData.Text.ToCharArray();

      //count how many lines of receieved data in textbox
        for (int i = 0; i < textBox_ReceievedData.Lines.Length; i++)
        {

            System.Console.WriteLine("charArray "  +prevPos[i]);
        }

现在如果我想调用它,我会得到这个,我不想要这个格式:

        prevPos[1]=h
        prevPos[2]=e 
        prevPos[3]=l
       etc.

我想要这个输出:

prevPos[1]=hello
prevPos[2]=123

【问题讨论】:

  • 你为什么不使用 String [] ?

标签: c# arrays forms


【解决方案1】:

如果这是您想要的输出,那么 字符串数组(不是字符数组)就是您想要的。不过,Lines() 属性已经为您提供了:

string[] prevPos = textBox_ReceievedData.Lines;
for(int i=0; i< prevPos.Length; i++)
{
    System.Console.WriteLine(prevPos[i]);
}

【讨论】:

  • 您的方式和 arun 有效,但对于您的方法,如果将两种方法的 i 都初始化为 1 并 go [i-1] 我将每次都得到相同的字符串,但如果我 go [i-1] with @aruns 方法我得到了前一个,我有点困惑,因为你的方法看起来很相似
  • 很想,但不幸的是,我不能,因为它是我任务的一部分,价值 50%
【解决方案2】:
prevPos = textBox_ReceievedData.Text.Split('\n');

这将为您提供一个由换行符 \n 分隔的所有文本的数组。

【讨论】:

    【解决方案3】:

    请换成下面的试试

            for (int i = 0; i < textBox_ReceievedData.Lines.Length; i++)
            {
    
                System.Console.WriteLine("Each Line "  +textBox_ReceievedData.Lines[i]);
            }
    

    【讨论】:

    • 虽然格式正确,但我希望将其存储到数组 prevPos 中,我该怎么做?
    • textBox_ReceievedData.Lines 是数组,所以 prevPos = textBox_ReceievedData.Lines 应该这样做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    相关资源
    最近更新 更多