c#将多行字符串传递给函数并返回数组

我是C#编程的新手,我正在尝试使用良好的代码习惯.我知道在下面的示例中使用全局变量是不好的编码,但是我很难弄清楚这一点.因此,我正在尝试通过此问题完成两件事.

首先,我试图弄清楚如何将文本从多行文本框中传递给函数,并使其返回一个数组,然后可以将该数组传递给另一个函数进行输出(显示/打印/保存到文件) .

其次,使我的代码更具可重用性(通过在它们实际使用的函数内部移动全局变量).

我的问题是..如何将字符串传递给函数,然后返回可以传递给另一个函数的数组?

public partial class Form1 : Form
{

    string[] SignalStrengthInputArray450;
    string[] SignalStrengthOutputVar450 = new string[7];


    // cut out other functions

    private void Submit_450_Click(object sender, EventArgs e)
    {
        // ensure that input textbox is not null then call Load function
        // SignalStrenthInput_450 is the object name of a multi-line textbox
        if (!String.IsNullOrWhiteSpace(SignalStrengthInput_450.Text))
        {
            Load_Signal_Strength_Array();
        }
        else
        {
            // do something different
        }

        // additonal code for other textboxes
    }

    private void Load_Signal_Strength_Array()
    {
        // Processing Signal Strength textbox 
        SignalStrengthInputArray450 = SignalStrengthInput_450.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
        foreach (string a in SignalStrengthInputArray450)
        {
            // loads some stuff into the SignalStrengthOutputArray450 array
        }
    }

}

解决方法:

您需要一个参数和返回类型(字符串数组),您可能需要阅读有关Passing Parametersreturn statement的更多信息以返回值.

private string[] Load_Signal_Strength_Array(string signalStrengthInput_450)
{
   string[] SignalStrengthInputArray450 = SignalStrengthInput_450.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
   foreach (string a in SignalStrengthInputArray450)
   {
      // loads some stuff into the SignalStrengthOutputArray450 array
   }
   return SignalStrengthInputArray450; 
}   

方法调用就像

string[] signalStrengthArray = Load_Signal_Strength_Array(SignalStrengthInput_450.Text);
上一篇:c#-包装和大量数据时TextBox性能不佳


下一篇:如何在C#中从右到左框中的数字左侧显示负号?