Answer Posted / benjamin janecke
String is a reference type but it behaves somewhat like a
value type. So it's a bit tricky and many developers don't
know it.
Great care should be taken when doing excessive string
manipulations with the String class. As already posted,
each String is read only and can never be changed. Thus,
every manipulation creates a new instance (and causes the
garbage collector to remove old ones) which can have a
dramatic performance impact on an application. Therefore,
always use the StringBuilder class in these scenarios,
which holds only one representation of a string in memory
and performs any changes directly to that memory block.
Btw. for those who don't belive String is a reference type,
just refer to MSDN or run ILDASM und load the mscorlib.dll
module from the .NET Framework. Then go to System.String
and u'll notice it's directly inherited from System.Object -
contrary to, for instance, the System.Byte class which is
inhertied from System.ValueType, meaning Byte is a value
type, String is not.
| Is This Answer Correct ? | 36 Yes | 2 No |
Post New Answer View All Answers
Explain how can you debug your .net application?
What are the different web pages?
What is break mode?
What is the displayafter property in updateprogress control?
What is difference between viewstate and session state in javascript?
What is view state management in asp net?
What is the difference between a cookie and a pixel?
How ViewstateMac works?
What is dynamic web page with example?
How will you do Redo and Undo in a TextControl?
What do you mean by query string?
Define cookie.
How can u debug your .net application?
How dataadapter.fill works?
Is asp.net different from asp? If yes, explain how?