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
私が混乱しているループです。
key => value
C#での処理方法がわからないので
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
、現在のコンテキストには存在しないと言われています。foreach
C#のループに公開するにはどうすればよいですか? これはPHPの世界では問題ありません。