C# 访问第二个线程中主线程中定义的变量?
在我的C#控制台应用程序中,我启动一个新任务并调用一个函数,该函数要求我能够访问在主线程中定义的变量,例如:C# 访问第二个线程中主线程中定义的变量?,c#,multithreading,C#,Multithreading,在我的C#控制台应用程序中,我启动一个新任务并调用一个函数,该函数要求我能够访问在主线程中定义的变量,例如: class Example { static int ExampleVarForQuestion = 1; int Main() { new Task(WhereProblemOccures.ExampleFunction).Start(); } } class WhereProblemOccures { static int E
class Example
{
static int ExampleVarForQuestion = 1;
int Main()
{
new Task(WhereProblemOccures.ExampleFunction).Start();
}
}
class WhereProblemOccures
{
static int ExampleFunction()
{
if(Example.ExampleVarForQuestion == 1)
return 1;
else
return 0;
}
}
问题是在
ExampleVarForQuestion()
中无法达到上述变量值ExampleVarForQuestion
。我对C#很陌生,所以如果这个问题的措辞不太好,很抱歉。要达到它,它必须是公共的,因为您的方法是在另一个类中定义的
请注意,如果成员将由另一个线程编写,则应添加某种形式的同步以保证线程安全。@C0d1ng我很高兴它帮助了您。如果它回答了你的问题,别忘了把它标记为答案:)我会在5分钟后回答:)它说我必须再等5分钟才能把你的问题标记为“答案”:/