如何在using语句之外使用变量?
我有这段代码:
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["batch"].ConnectionString))
{
var size = FileBusinessLogic.LoadBatchAvgFileSizes(connection); // size is a list
}
我需要在使用之外使用“var size”,但我不知道如何使用。我怎样才能获得列表的第二列(大小)?
有人有个主意吗?
答案 0 :(得分:4)
大括号构成了自己的范围。所有变量仅在声明的范围和内部范围内可见。
您只需要使用范围声明您的变量:
int size = 0; // or declare expected type
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["batch"].ConnectionString))
{
size = FileBusinessLogic.LoadBatchAvgFileSizes(connection); // size is a list
}
// now you have access to your variable outside the using scope.
答案 1 :(得分:0)
你将能够以这种方式使用它,
PHP
答案 2 :(得分:0)
您可以使用操作
Action<List<int>> handleSize = size =>
{
// you can do what you wanna do with size here.
Console.WriteLine(size);
};
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["batch"].ConnectionString))
{
var size = FileBusinessLogic.LoadBatchAvgFileSizes(connection); // size is a list
handleSize(size);
}
答案 3 :(得分:0)
使其成为一种方法:
private static List<int> GetSize()
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["batch"].ConnectionString))
{
return FileBusinessLogic.LoadBatchAvgFileSizes(connection); // size is a list
}
}
...
var size = GetSize();