使用未分配的输出参数

时间:2014-09-14 06:08:32

标签: c# .net oop url

我传递数据列表以进一步解析

public void MyMethod()
{
    var urls = new List<MyUrl>();
    ...
    ExtractData(out urls);
}

private static void ExtractData(out urls)
{

   ...
   foreach(var item in items)
   {
       urls.Add(new MyUrl{ Url = item.Url });
   }       
}

我得到vs错误

  

使用未分配的输出参数&#39;网址

为什么我收到此错误,因为我将新对象分配到现有列表中?

1 个答案:

答案 0 :(得分:5)

应在被调用的方法下定义Out变量。

http://msdn.microsoft.com/en-us/library/t3c3bfhx.aspx

  

虽然作为out参数传递的变量不一定是   在传递之前初始化,需要调用方法   在方法返回之前分配一个值。

因此你应该写为:

public void MyMethod()
{
    List<MyUrl> urls = null;
    ...
    ExtractData(out urls);
}
private static void(out List<MyUrl> urls)
{
  urls = new List<MyUrl>();
   ...
   foreach(var item in items)
   {
       urls.Add(new MyUrl{ Url = item.Url });
   }       
}