假设我在类中有一个带参数的静态方法,如下所示:
public static string NumberToLetter(int num)
{
string colCharset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string Letter = String.Empty;
//goes into loop using the parameter
//does some logic
return Letter;
}
现在,当同时从其他类调用此静态方法时会发生什么?
或者以这种方式,当第一个类调用此方法并开始执行时,另一个类在执行第一个类请求时调用此静态方法?
行为是什么?循环中的参数值会发生什么?
答案 0 :(得分:3)
此静态方法中的变量是本地的,因此将为每个调用创建它们。对于n次调用,您将拥有n个这些变量的副本。您的参数不是引用类型,因此您的参数也不会被共享。
除非您在方法中共享变量/ property / field,否则多次调用都是线程安全的,如果这是您的意思。
答案 1 :(得分:2)
您的函数是静态的,您的局部变量不是。如果没有对外部静态资源的依赖,那么它应该可以正常工作。
如果您要传入引用参数或可变对象,那么问题会完全不同。