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 |
is it possible to set more than web.config file for an ASP.net APPLICATION?can it run?how is it possible
How many webforms are possible on a single webpage?
What is difference between Lambda Expression and LINQ in ASP.NET?
From the given paragraph of text, write a program to match the strings of format “Any number of numerals followed by an underscore followed by any number of alphabets" ex:123_abc (Note:using regular expressions)
can we place the same DLL in debug folder two times? (without using strong name )
What is master page in dtp?
Where web.config file is used?
Explain the code Access Security (CAS) in .net Framework?
which one is more flexibility and reliability and durability asp.net (VS)php which one is best and which one we do nice to create dynamic websites
How can we register exception filter from the action?
When during the page processing cycle is ViewState available?
What are the difference between ASP and ASP.Net?