在静态空隙中使用全局变量-C#
我正在编写一个非常基本的C#程序,它可以处理列表 我正在编写一个方法,该方法将列表按顺序排序,然后使用全局变量将结果写入文本框 我希望方法是一个静态的void,但是这会抛出错误 现在看起来是这样的:在静态空隙中使用全局变量-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
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
方法不仅仅是进行排序。为什么?