チュートリアルを見ているときにこれに遭遇しました。今まで見たことがないので、ここで何が起こっているのか知りたいです。
Application["ApplicationStartDateTime"] = DateTime.Now;
ここにそれが文脈にあります:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
Application["ApplicationStartDateTime"] = DateTime.Now;
}
protected void Application_End()
{
Application.Clear();
}
}
application_Startメソッドは、理由についてほとんど説明せずに追加されたStartDateTime行を除いて、定型文です。具体的には、角括弧について知りたいです。私は配列と注釈を知っていますが、これは異なって見えます。
それはインデクサーです。基本的には配列の使用のように見えることを意図していますが、複数のパラメーターを持つことができ、それらは整数である必要はありません。プロパティと同様に、インデクサーはgetアクセサーおよび/またはsetアクセサーを持つことができます。
それらは次のように宣言されます:
public class Container
{
public string this[int x, int y]
{
get { /* code here */ }
set { /* code here using value */ }
}
}
これstring
は、2つのint
パラメーターを持つタイプのインデクサーです。したがって、次のように書くことができます。
Container container = new Container();
string fetched = container[10, 20];
container[1, 2] = "set this value";
インデクサーは、コレクションに最も一般的に使用されます。
IList<T>
T
単一のint
パラメーターを持つタイプの読み取り/書き込みインデクサーを宣言しますIDictionary<TKey, TValue>
TValue
単一のTKey
パラメーターを持つタイプのリーダー/書き込みインデクサーを宣言しますこの記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加