来自:The Most Powerful Language for .NET Framework Programming
http://msdn.microsoft.com/en-us/library/ms379617(VS.80).aspx
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
比较:
thanks
http://msdn.microsoft.com/en-us/library/ms379617(VS.80).aspx
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
比较:
Description | C++/CLI | C# |
---|---|---|
Allocate reference type | ReferenceType^ h = gcnew ReferenceType; | ReferenceType h = new ReferenceType(); |
Allocate value type | ValueType v(3, 4); | ValueType v = new ValueType(3, 4); |
Reference type, stack semantics | ReferenceType h; | N/A |
Calling Dispose method | ReferenceType^ h = gcnew ReferenceType; delete h; | ReferenceType h = new ReferenceType(); ((IDisposable)h).Dispose(); |
Implementing Dispose method | ~TypeName() {} | void IDisposable.Dispose() {} |
Implementing Finalize method | !TypeName() {} | ~TypeName() {} |
Boxing | int^ h = 123; | object h = 123; |
Unboxing | int^ hi = 123; int c = *hi; | object h = 123; int i = (int) h; |
Reference type definition | ref class ReferenceType {}; ref struct ReferenceType {}; | class ReferenceType {} |
Value type definition | value class ValueType {}; value struct ValueType {}; | struct ValueType {} |
Using properties | h.Prop = 123; int v = h.Prop; | h.Prop = 123; int v = h.Prop; |
Property definition | property String^ Name { String^ get() { return m_value; } void set(String^ value) { m_value = value; } } | string Name { get { return m_name; } set { m_name = value; } } |
thanks