.NET/C# - Disposing an object with the 'using' statement
问题 Suppose I have a method like so: public byte[] GetThoseBytes() { using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { ms.WriteByte(1); ms.WriteByte(2); return ms.ToArray(); } } Would this still dispose the 'ms' object? I'm having doubts, maybe because something is returned before the statement block is finished. Thanks, AJ. 回答1: Yes. using (x = e) { s } is sugar for { x = e; try { s } finally { x.Dispose(); } } 回答2: Yes, Using creates a try..finally block, so it disposes the ms