答
new Thread(new ThreadStart(ListenForResponse)) { IsBackground = true }.Start();
B:
ThreadStart threadStart = new ThreadStart(ListenForResponse);
Thread listeningThread = new Thread(threadStart);
listeningThread.IsBackground = true;
listeningThread.Start();
据我所知,它们在功能上是等同的。我只是想知道哪个更受欢迎。你宁愿在项目中看到哪一个?
答案 0 :(得分:1)
我更喜欢这个:
Thread listeningThread = new Thread(new ThreadStart(ListenForResponse))
{
IsBackground = true
}
listeningThread.Start();
但这个问题很主观。
如果您在各种对象上设置更多参数,则单行版本开始变得难以阅读。
另一方面,为简单的案例明确写出所有内容可能是罗嗦的,并且混乱了正在发生的事情的意义。
此外,个人的烦恼是在行的末尾放置一个函数调用waaay,很难看到,就像你的第一个例子。
即使您想使用该语法,我也希望在自己的行上看到.Start()
。
答案 1 :(得分:0)
我个人更喜欢选择B.它更具可读性。每个步骤都是逻辑布局的,您只需单步执行即可了解所发生的情况。
我对A的看法是它的炫耀代码。你这样做是为了表明你可以做多短的操作,但它的可重用性非常低,需要你更好地理解调用的结构。
我的意见: 假设您的代码将被其他人使用,并假设他们需要所有可以获得的帮助。选择最不易牺牲效率的解决方案。