我可以使用Square Brackets从类中提取值

时间:2012-07-23 14:21:15

标签: c#

我有一个具有变量“Magic”的类。这是一个4字符串。我可以在C#中做这样的事情吗?

string offset = chunkList["_blf"].offset;

*假设“chunkList”是IList /“chunk”对象列表。

2 个答案:

答案 0 :(得分:13)

是的,您可以在班级上创建indexer

public string this[string s]
{
    get
    {
        // retrieve value
    }
    set
    {
        // set value
    }
}

答案 1 :(得分:3)

您可以使用以下内容:

string offset = chunkList.Find(x => x.Magic == "_blf").offset;

最好检查Find retuns null:

Chunk chunk = chunkList.Find(x => x.Magic == "_blf");
if (chunk != null)
    offset = chunk.offset;