如题,主要使用AsReadOnly这个方法就可以了
复制代码 代码如下:
List a = new List {1, 2, 3, 4, 5};
IList b = a.AsReadonly(); // block modification...
IList c = b.AsWritable(); // ... but unblock it again
c.Add(6);
Debug.Assert(a.Count == 6); // we've modified the original
IEnumerable d = a.Select(x => x); // okay, try this...
IList e = d.AsWritable(); // no, can still get round it
e.Add(7);