2013-03-11 81 views
1

我有以下全局变量通过静态变量的函数

private static Queue<List<object>> webdata1Queue = new Queue<List<object>>(); 
private static Queue<List<object>> webdata2Queue = new Queue<List<object>>(); 
public static DataTable products1; 
public static DataTable products2; 

这个功能

private void Downloader(Queue<List<object>> webdataQueue,Datatable products) 
     { 
     } 

这是通过静态变量函数的正确方法?我需要传递声明的变量,因为我将使用2个不同线程的相同函数。

+1

是的,但如果你有危险的部分,而不是保护它 – TalentTuner 2013-03-11 06:17:22

+0

@Saurabh但我的意思是当我通过它这样,是否通过它的地址在内存中传递,或另一个副本的变量在其他地方? – user1590636 2013-03-11 06:18:29

+1

所有对象都通过引用在C#中 – fenix2222 2013-03-11 06:19:15

回答

1

如果你要分配空该变量或初始化它里面的方法,然后它不会工作,但你可以通过它就像你正在做的,如果你只是修改它的属性和添加项目到列表。