我无法继续使用以下代码。有人可以帮忙吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Demo_Inidexers
{
public class MyIndexer
{
Dictionary <int,string > testdctnry = new Dictionary<int,string>() ;
public string this[int index,string val ]
{
get
{
string temp;
if (index > 0)
MessageBox .Show ("Hey m Zero");
return testdctnry[index];
}
set
{
if (index > 1)
MessageBox.Show("Setting up");
testdctnry.Add(index, val);
}
}
}
static class Program
{
static void Main()
{
MyIndexer MI = new MyIndexer();
}
}
}
在上面的代码中,我如何使用索引器和字典。我对c#很新,请帮忙。我想了解索引器。
答案 0 :(得分:2)
设置索引器的值不应用作第二个参数。 get
根本无法访问设定值,因为没有。在set
方法中,有一个上下文关键字value
,其值设置为索引器:
public class MyIndexer
{
private Dictionary <int,string> testdctnry = new Dictionary<int,string>();
public string this[int index]
{
get
{
if (index > 0)
MessageBox.Show("Hey m Zero");
return testdctnry[index];
}
set
{
if (index > 1)
MessageBox.Show("Setting up");
testdctnry[index] = value;
}
}
}
答案 1 :(得分:-1)
你有什么问题?
通过调用obj [args]来调用索引器。要使用getter,可以使用obj [args],就像它是一个值一样。要使用setter,可以在赋值的左侧使用obj [args]。