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

标签 c# arrays string textbox return

我是 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 Parameters 的内容和 return 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# 将多行字符串传递给函数并返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30450701/

相关文章:

java - 用空格分隔每个大写单词

c# - 使用 LINQ 和 Lambda 加入/在何处

c# - 如何从代码覆盖中排除属性中的 lambda 函数?

c - 如何在C中按升序对字符串数组进行排序

c - 如何从 C 中的 MACRO 函数返回一个字符串?

javascript - 解析javascript中的字符串

c# - 什么是 VB.NET 等同于 C#'s ' using' block

c# - 计算机崩溃后,我的 Visual Studio 2010 不会加载程序集

javascript - 按对象键减少/过滤对象数组

javascript - 使用数据属性循环遍历 div 中的每个子项