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

在静态空隙中使用全局变量-C#,c#,list,sorting,static,C#,List,Sorting,Static,我正在编写一个非常基本的C#程序,它可以处理列表 我正在编写一个方法,该方法将列表按顺序排序,然后使用全局变量将结果写入文本框 我希望方法是一个静态的void,但是这会抛出错误 现在看起来是这样的: public void sort(List<int> value) { value.Sort(); foreach (int item in value) { result = result + item; } } public sta

我正在编写一个非常基本的C#程序,它可以处理列表

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

我希望方法是一个静态的void,但是这会抛出错误

现在看起来是这样的:

public void sort(List<int> value) 
{
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
}
public static int sort(List<int> value) 
{
    int result;
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
    return result;
}
public void排序(列表值)
{
value.Sort();
foreach(值中的int项)
{
结果=结果+项目;
}
}
但我希望这是一个静态的空白,如下所示:

public static void sort(List<double> value) 
公共静态无效排序(列表值)

任何提示都值得赞赏。

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

看看您的方法,它所做的只是对列表进行排序并将值相加。因此,请这样做:

public void sort(List<int> value) 
{
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
}
public static int sort(List<int> value) 
{
    int result;
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
    return result;
}
如果返回类型“必须”为
void
,请使用
out
参数

public static void sort(List<int> value, out int result)
{
    value.Sort();
    result = value.Sum();
}
公共静态无效排序(列表值,out int结果)
{
value.Sort();
结果=value.Sum();
}

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

看看您的方法,它所做的只是对列表进行排序并将值相加。因此,请这样做:

public void sort(List<int> value) 
{
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
}
public static int sort(List<int> value) 
{
    int result;
    value.Sort();
    foreach (int item in value)
    {
        result = result + item;
    }
    return result;
}
如果返回类型“必须”为
void
,请使用
out
参数

public static void sort(List<int> value, out int result)
{
    value.Sort();
    result = value.Sum();
}
公共静态无效排序(列表值,out int结果)
{
value.Sort();
结果=value.Sum();
}

您可以将
结果设置为静态,也可以将其设置为方法的参数。此外,您可以执行
value.Sum()
来实现您正在执行的操作。为什么必须使用全局变量?将
结果
设为本地并从
排序
返回有什么问题?这样做还将使您有机会将
sort
更改为一个说明其实际功能的名称。我已经获得了public static void sort(List value)行,因此它需要遵循此格式。似乎您的
sort
方法不仅仅是进行排序。为什么?您可以将
结果设置为静态,也可以将其设置为方法的参数。此外,您可以执行
value.Sum()
来实现您正在执行的操作。为什么必须使用全局变量?将
结果
设为本地并从
排序
返回有什么问题?这样做还将使您有机会将
sort
更改为一个说明其实际功能的名称。我已经获得了public static void sort(List value)行,因此它需要遵循此格式。似乎您的
sort
方法不仅仅是进行排序。为什么?