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 viewstate is being formed?
Is there any property names “isnavigating”?
Explain the Order of events in an asp.net page?
What is webresource axd?
What is intrinsic objects in asp.net?
What is the difference between session.abandon() vs clear()?
What are the Types of authentications in IIS
How can we register exception filter from the action?
calling result set one procedure to anothar procedure in sql2000
How to bind all the binding controls in a page at once in ASP.NET?
How to handle errors in Web API?
What is owin authentication?
What are the events in a page life cycle?
Which is the best institute to learn Microsoft Technologies and the faculty if you Know?
Which library is used by the testers and developers to develop automated tests and create testing tools?