在静态空洞中使用全局变量 - C#

时间:2017-10-09 22:49:15

标签: c# list sorting static

我正在编写一个与列表配合使用的非常基本的C#程序。

我正在编写一个方法,将列表按顺序排序,然后使用全局变量将结果写入文本框。

我希望方法成为一个静态void,但这会引发错误。

目前它看起来像这样:

public void sort(List<int> value) 
{
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
}

我希望这是一个静态的空白,如下所示:

public static void sort(List<double> value) 

任何提示赞赏。

1 个答案:

答案 0 :(得分:3)

在方法中使用全局变量不是一个好习惯,除非绝对必要,否则建议避免使用。如果您要将此方法传输到另一个模块,则在使用任何全局变量时它将停止工作。

查看您的方法,它的作用只是对列表进行排序并添加值。所以做这样的事情:

public static int sort(List<int> value) 
{
    int result;
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
    return result;
}

使用LINQ;

public static int sort(List<int> value)
{
    value.Sort();
    return value.Sum();
}

如果返回类型“必须”为void,请使用out参数。

public static void sort(List<int> value, out int result)
{
    value.Sort();
    result = value.Sum();
}