【发布时间】:2019-07-16 23:30:04
【问题描述】:
我需要通过从表存储中加载连接信息来创建一个ConnectionInfo 对象:
public static async Task<ConnectionInfo> LoadConnection(CloudTable cloudTable, string container)
{
var filter = TableQuery.GenerateFilterCondition("container", QueryComparisons.Equal, container);
foreach (var entity in await cloudTable.ExecuteQuerySegmentedAsync(new TableQuery<SftpServerConnectionsModel>().Where(filter), null))
{
return new ConnectionInfo(entity.uri, entity.user, new AuthenticationMethod[]{
new PasswordAuthenticationMethod(entity.user,entity.password)});
}
}
如何创建 ConnectionInfo 对象并立即返回,而不是继续在 foreach 循环内进行迭代?
我们可以完全绕过 foreach 吗?我总是期待 1 且只有 1 个结果。
【问题讨论】:
-
这不是你的代码现在所做的(即当你点击
return时返回)?是什么让你认为不是?我怀疑您的真正问题是它无法编译 - 在这种情况下,您可能需要在foreach之后返回null(以防从未进入循环)。或者使用FirstOrDefault而不是foreach。 -
提示 - 如果您的代码无法编译,请告诉我们编译器错误是什么。