我正在传递数据列表以进一步解析
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 });
}
}
Run Code Online (Sandbox Code Playgroud)
我得到了vs错误
使用未分配的参数'urls'
为什么我收到此错误,因为我将新对象分配到现有列表中?
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 });
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3423 次 |
| 最近记录: |