task.result.count , 任务
task.result.count , Task
我只是想知道 task.result.length 和直接使用 属性 有什么区别。
所以我有这个:
int count = 20000;
char charToconcatnate = '1';
Task<string> task = Task.Factory.StartNew(() => ConcatChars(charToconcatnate, count));
Console.WriteLine("IN progress");
task.Wait();
Console.WriteLine("Completed");
Console.WriteLine("The length of the result is:" + task.Result.Length);
Console.Read();
public static string ConcatChars(char charToConcanate, int count)
{
string concateneatedString = string.Empty;
for (int i = 0; i < count; i++)
{
concateneatedString += charToConcanate;
}
return concateneatedString;
}
但是如果我这样做的话:
int count = 20000;
char charToconcatnate = '1';
Task task = Task.Factory.StartNew(() => ConcatChars(charToconcatnate, count));
Console.WriteLine("IN progress");
task.Wait();
Console.WriteLine("Completed");
Console.WriteLine("The length of the result is:" + count);
Console.Read();
public static string ConcatChars(char charToConcanate, int count)
{
string concateneatedString = string.Empty;
for (int i = 0; i < count; i++)
{
concateneatedString += charToConcanate;
}
return concateneatedString;
}
两者输出相同
那有什么区别呢?
task.Result
是一个长度为 20,000 个字符的字符串。所以 task.Result.Length
returns 20000
.
count
也 returns 20000
。 (这就是导致 task.Result
一开始就有 20,000 个字符的原因!)
两个输出相同,因为它们获得相同的字符串连接值 (20000
)。
我只是想知道 task.result.length 和直接使用 属性 有什么区别。
所以我有这个:
int count = 20000;
char charToconcatnate = '1';
Task<string> task = Task.Factory.StartNew(() => ConcatChars(charToconcatnate, count));
Console.WriteLine("IN progress");
task.Wait();
Console.WriteLine("Completed");
Console.WriteLine("The length of the result is:" + task.Result.Length);
Console.Read();
public static string ConcatChars(char charToConcanate, int count)
{
string concateneatedString = string.Empty;
for (int i = 0; i < count; i++)
{
concateneatedString += charToConcanate;
}
return concateneatedString;
}
但是如果我这样做的话:
int count = 20000;
char charToconcatnate = '1';
Task task = Task.Factory.StartNew(() => ConcatChars(charToconcatnate, count));
Console.WriteLine("IN progress");
task.Wait();
Console.WriteLine("Completed");
Console.WriteLine("The length of the result is:" + count);
Console.Read();
public static string ConcatChars(char charToConcanate, int count)
{
string concateneatedString = string.Empty;
for (int i = 0; i < count; i++)
{
concateneatedString += charToConcanate;
}
return concateneatedString;
}
两者输出相同
那有什么区别呢?
task.Result
是一个长度为 20,000 个字符的字符串。所以 task.Result.Length
returns 20000
.
count
也 returns 20000
。 (这就是导致 task.Result
一开始就有 20,000 个字符的原因!)
两个输出相同,因为它们获得相同的字符串连接值 (20000
)。