我有一個字符串數組的列表,我想使這兩個集合都是隻讀的。IList <IList<T>>到IReadonlyCollection <IReadonlyCollection <T>>
所以我有這樣的代碼:
public XmlPatternTree(IList<string> nodeNames, IList<IList<string>> attributeNames,
IList<IList<string>> attributeValues) : this()
{
NodeNames = new ReadOnlyCollection<string>(nodeNames);
AttributeNames = new ReadOnlyCollection<ReadOnlyCollection<string>>();
AttributeValues = attributeValues;
Depth = NodeNames.Count;
}
我的問題是,AttributeNames和AttributeValues分配導致編譯錯誤,看來我可以從非只讀的非只讀集合創建ReadonlyCollection的ReadonlyCollection對象。
除了循環遍歷所有的值並將它們添加到列表中,我還能做些什麼嗎?
感謝