3

Nvelocity C#/。NETビューテンプレート(.csファイル)をハッキングしているので、Pythonキーワード「in」(「fooinlist」など)が本当にありません。リスト/配列のメンバーシップをチェックするための組み込み機能は何ですか?

これは私のPythonの頭脳がやりたいことです:

#set ( $ignore = ['a','b','c'] )
<ul>
#foreach ( $f in $blah )
  #if ( $f not in $ignore )
    <li> $f </li>
  #end
#end
</ul>

しかし、実際に正しい構文があるかどうかはわかりません。Velocity Template Guideをざっと見てみましたが、役に立つものは何も見つかりませんでした。

4

6 に答える 6

4

リストでContains関数を使用できるため、次のようにする必要があります

List<int> list = new List<int>{1, 2, 3, 4, 5, 6, 7};
foreach(var f in blah)
if(list.Contains(f))
于 2009-07-27T06:14:45.080 に答える
3

「含む」はまさに私が探していたものです。

...そして NVelocity テンプレートで言えば:

#set( $ignorefeatures = ["a", "b"] ) 
#foreach( $f in $blah )
    #if ( !$ignorefeatures.Contains($f.Key) )
        <tr><td> $f.Key </td><td> $f.Value </td></tr>
    #end                
#end
于 2009-07-28T03:14:34.560 に答える
1
string[] ignore = {"a", "b", "c" };
foreach( var item in blah ){
    if( !ignore.Contains(item) )
    {
        // do stuff
    }
}
于 2009-07-27T06:14:26.857 に答える
0

「ignore」がリストの場合、Contains() メソッドがあります。これにより、コードは次のようになります。

var ignore = new List<string>();
ignore.AddRange( new String[] { "a", "b", "c" } );
foreach (var f in blah) {
    if (!ignore.conains(f)) {
        //
    }
}
于 2009-07-27T06:15:41.193 に答える
0

List.Contains を利用できます

配列がある場合は、配列を IList にキャストするか、配列を渡す新しいリストを作成できます。

于 2009-07-27T06:16:06.543 に答える
0

使用している C# のバージョンは不明ですが、Linq を使用Containsしている場合は配列で使用できます。

于 2009-07-27T06:21:44.660 に答える