Is string a value type or a reference type?
Answers were Sorted based on User's Feedback
Answer / gulrez alam
String is Referenced Type and stored in the Heap....
Is This Answer Correct ? | 55 Yes | 2 No |
Answer / tarun kumar
String in .NET id 'Reference Type'.The reason is quite
simple.All classes in the .NET Environment are 'Reference
Type' & 'String' is a Class in .NET (not DataType as in VB
6.0)
Is This Answer Correct ? | 40 Yes | 5 No |
Answer / 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 |
Answer / sheetal shivdas
run this code : to see that string is reference type
SByte a = 0;
Byte be = 0;
Int16 c = 0;
Int32 d = 0;
Int64 ee = 0;
String s = "";
Exception ex = new Exception();
object[] Types = { a, be, c, d, ee, s,ex };
foreach (object obj in Types)
{
string type;
if (obj.GetType().IsValueType)
type = "Value Type";
else
type = "Reference Type";
Response.Write(type);
}
Is This Answer Correct ? | 32 Yes | 5 No |
string is a reference type.
string str = "hello";
char x = str[1];
here what we do is handling the memory.
which type allows you to handle the memory is reference types.
Is This Answer Correct ? | 26 Yes | 1 No |
Answer / albn
String is a reference type. If two string variable has the
same string it stored in the same heap memory address.
eg in VB.Net
Dim a as string="Hello"
dim b as string="Hello"
both variable refer to same memory address. As strings are
immutable reference type you can't get the change in one
variable to another.
Is This Answer Correct ? | 19 Yes | 4 No |
Answer / micho
Strings are reference types, but they are special reference
types because they are made to behave like value-types.
For instance, after assigning a string to another, the two
strings remain independent. Likewise, you compare strings
with the = operator (because it is overloaded).
You can open the MSDN and see that strings are classes (ie,
reference-types).
Is This Answer Correct ? | 0 Yes | 1 No |
How many validators do ASP.NET have?
is gateway for sms continue connected for sending sms.how?
We Only Know The Total Number Of Feet In The Farmyard. Write A Program that will compute the total number of rabbits and chickens in the farmyard. Assume number of feet in the farmyard are 40. how many rabbits and chickens are?
How does SQL Server session state works
What is the use of SmartNavigation property?
Which namespace do the classes, allowing you to support COM functionality, are located?
Explain asp.net mvc request life cycle? : asp.net mvc
Write a standard lock() plus double check to create a critical section around a variable access?
How can exception be handled with out the use of try catch?
all asp.net interives questions
Describe paging in asp.net?
What are validator? Name the Validation controls in asp.net? How do u disable them?