web-dev-qa-db-ja.com

.netの[]ブラケットとは何ですか?

私は非常にまれにc#でそのようなブラケットを見たことがありますが、asp.netを学び始めたとき、それらを何度も見ましたが、それでもそれらが何をしているのか理解できませんでしたか?

これらは、配列に使用するコードの一部ではありません。たとえば、メソッドのすぐ上にある[webmethods]や、クラスの上にあるものがあります。彼らは.netの一部ですか、それともCLRに何かを伝えているだけですか?または?

26
Freshblood

これらは、クラスまたはメソッド(またはその他のもの)に属性を配置するために使用されます。このようにして、実際のクラスの一部ではないクラスにデータを添付できます。あなたはそれらについてもっと読むことができます ここ

26

型とメンバーに注釈を付けることができる 。Net attributes が表示されます。

20
SLaks

[]括弧は C#の演算子 です。リンクには、以下に要約した詳細情報と例が含まれています。

それらは以下のために使用されます:

  • 配列型定義
  • 配列の要素にアクセスする
  • それらは、任意のタイプの indexer パラメータとして使用できます。
  • それらは attributes<-を指定するために使用できますこれはあなたが尋ねていることのようです
  • 安全でないコードに使用して、ポインターからのオフセットにインデックスを付けることができます
19
Brian R. Bondy

それらは、メソッドとクラスに注釈を付けるために使用される attributes です。

5
sepp2k

これは、ある種のコレクションへのインデックス付けに最もよく使用される演算子です。一般的な用途は、配列へのインデックス付けです。

また、属性を定義するためにC#でも一般的に使用されます。これらは、メソッドとクラスの上に表示できます。それらは、そのクラスまたはメソッドの追加の動作を定義する方法です。

MSDNには優れた C#の属性の概要 があります。

1
Brendan Enrick

それらは属性であり、私の電話から投稿するため、リンクを追加することはできませんが、msdnで属性を検索するだけです。

1
Ben Robinson

他の人が言ったように、これらは属性なので、実際に [〜#〜] msdn [〜#〜] を確認する必要がありますが、簡単に言うと、前に実行できるコードを追加すると言うことができますまたはメソッドが実行された後、またはまったく実行されません!条件付きであることから、メソッドを実行するかどうかを決定すること、前処理操作を実行すること、メタデータをコードに追加することなど、他のライブラリやコンパイラがそれを見つけて処理できるようにすることなど、さまざまなことを行います。

1