问题描述
- 二个线程之间的区别,C#
-
string ticket_list = "1,2,3,11,12"; string[] sArray = ticket_list.Split(','); if (sArray.Length > 0) { foreach (var i in sArray) { task = new Task(() => { Task a = Task.Run(() => { MyMethod(int.Parse(i)); }); }); } task.Start(); }
与
string ticket_list = "1,2,3,11,12";
string[] sArray = ticket_list.Split(',');
if (sArray.Length > 0)
{
task = new Task(() =>
{
foreach (var i in sArray)
{Task a = Task.Run(() => { MyMethod(int.Parse(i)); });
这二个线程有什么区别吗,看结果好像差不多。他们各自有什么优缺点
解决方案
在C# 4.0上,前者MyMethod(int.Parse(i));每个i都是12
在C# 5.0上,每个i是数组的某个值。
时间: 2024-08-08 14:42:08