尝试使用SortedList类的Item[Object]属性从Win Form应用程序中的SortedList中获取asscoiated值。
但它给出了错误1">System.Collections.SortedList"不包含"Item"的定义,并且找不到接受类型为"System.Collections.SortedList"的第一个参数的扩展方法"Item"(是否缺少using指令或程序集引用?)
项目属性也未出现在Intellisense 中
public partial class Form1 : Form
{
SortedList myList = new SortedList();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string wordLine;
string[] strArray;
char sep = ' ';
WordData myWord;
StreamReader myWordFile = new StreamReader("OOP.txt");
while (!myWordFile.EndOfStream)
{
wordLine = myWordFile.ReadLine();
strArray = wordLine.Split(sep);
for(int i=0; i<strArray.Length; i++)
{
string word = strArray[i];
if (myList.ContainsKey(word))
{
myWord = myList.Item[word];
}
}
}
MessageBox.Show("File Read Successfull");
}
}
集合上的Item
属性通常在C#中进行特殊处理。它被视为C#中的索引器,并通过普通索引进行访问。
即
myWord = myList[word];
不能按名称直接访问索引器属性,该名称适用于不直接支持索引器的语言。请注意,它可以使用不同的名称,但C#编译器默认使用Item
。