gpt4 book ai didi

c# - 关于简单索引器的问题 (c#)

转载 作者:太空宇宙 更新时间:2023-11-03 18:01:06 24 4
gpt4 key购买 nike

在下面的索引器代码块中,我们为什么需要:

public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}

this[int pos] 中的“this”究竟是做什么的?谢谢

/// Indexer Code Block starts here
using System;

/// <summary>
/// A simple indexer example.
/// </summary>
class IntIndexer
{
private string[] myData;

public IntIndexer(int size)
{
myData = new string[size];

for (int i = 0; i < size; i++)
{
myData[i] = "empty";
}
}

public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}

static void Main(string[] args)
{
int size = 10;

IntIndexer myInd = new IntIndexer(size);

myInd[9] = "Some Value";
myInd[3] = "Another Value";
myInd[5] = "Any Value";

Console.WriteLine("\nIndexer Output\n");

for (int i = 0; i < size; i++)
{
Console.WriteLine("myInd[{0}]: {1}", i, myInd[i]);
}
}
}

最佳答案

这意味着您可以在对象本身(如数组)上使用索引器。

class Foo
{
public string this[int i]
{
get { return someData[i]; }
set { someData i = value; }
}
}

// ... later in code

Foo f = new Foo( );
string s = f[0];

关于c# - 关于简单索引器的问题 (c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com