【发布时间】:2013-11-23 15:42:51
【问题描述】:
我有以下用 PHP 编写的 for 循环:
$activesFilters = 0;
foreach ($_GET as $key => $value) {
if(!empty($value)) $activesFilters++;
}
if(isset($_GET['Filter'])) { $activesFilters = $activesFilters - 1; }
if(isset($_GET['CustomFilter'])) { $activesFilters = $activesFilters - 1; }
if(isset($_GET['showArchived'])) { $activesFilters = $activesFilters - 1; }
我想将其转换为 ASP.NET C# Razor。
到目前为止我有:
int activeFilter = 0;
@foreach(Request.QueryString as key in value) {
if(!empty(value)) activeFilters+1;
}
@if(Request.QueryString['Filter']) activeFilters = activeFilters - 1;
@if(Request.QueryString['CustomFilter']) activeFilters = activeFilters - 1;
@if(Request.QueryString['showArchived']) activeFilters = activeFilters - 1;
我很困惑的是 foreach 循环。
因为我不明白如何在 C# 中处理 key => value
我已经根据http://msdn.microsoft.com/en-us/library/ttw7t8t6(v=vs.90).aspx 编写了上述内容,但它没有显示任何处理键 + 值部分的示例。
更新:
根据下面的一些帮助:
@int activeFilters = 0;
@foreach (string key in Request.QueryString)
{
string value = Request.QueryString[key];
if(String.IsNullOrEmpty(value)){
return activeFilters+1;
}
}
但是它说activeFilters 在当前上下文中不存在。如何将它暴露给 C# 中的foreach 循环?因为这在 PHP 世界中很好。
【问题讨论】:
-
那么,您遇到了什么问题?
-
我投票结束,因为这个问题表明没有努力解决。一个简单的搜索会立即告诉你
foreach循环在 C# 中是如何工作的。 -
@JeroenVannevel 我确实搜索到了上面问题中的代码。否则我就没有什么可展示的了。不了解某件事的工作原理并不意味着它表明缺乏努力!并且假设某人会根据一篇文章“立即”理解某些东西是居高临下的!