【发布时间】:2018-01-02 23:15:24
【问题描述】:
我有一个异步方法,它将通过 Api 为作业调度服务查找 jobId。
如果没有找到结果是返回一个空任务还是返回null更好?
据我所知,返回集合时最好返回空集合而不是 null,使用对象返回 null 比返回空对象更好;但是对于任务,我不确定哪个是最好的。 方法见附件。
谢谢
public virtual Task<int> GetJobRunIdAsync(int jobId)
{
var jobMonRequest = new jobmonRequest(true, true, true, true, true,
true, true, true, true, true, true, true,
true,
true, true, true, DateTime.Today, jobId, null, 0, null, null,
null, null, 0, 0);
var jobMonResponseTask = Client.jobmonAsync(jobMonRequest);
var jobTask = jobMonResponseTask.ContinueWith(task =>
{
if (jobMonResponseTask.Result == null )
{
var empty = new Task<int>(() => 0); // as i understand creating a task with a predefined result will reduce overhead.
return empty.Result; // || is it better to just return null?
}
if (jobMonResponseTask.Result.jobrun.Length > 1)
{
throw new Exception("More than one job found, Wizards are abound.");
}
return jobMonResponseTask.Result.jobrun.Single().id;
});
return jobTask;
}
【问题讨论】:
标签: c# task task-parallel-library