我传递数据列表以进一步解析
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;网址
为什么我收到此错误,因为我将新对象分配到现有列表中?
答案 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 });
}
}