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 |
What is SOAP, UDDI and WSDL ?
2 Answers Infosys, Network, TCS, Wipro,
What are cookies in your browser?
What is the size of Get method and how much data it can store?
What are the advantages of using Master Pages?
Is it possible to migrate visual interdev design-time controls to asp.net?
how can we create wcf in asp.net and how can we cll that in to asp.net application?plsss tel me each step clearly
Describe state management in asp.net?
What is server objects in asp.net?
What is the use of the tag in the web.config file?
Whats the difference between abstract factory pattern and factory pattern?
Can you explain one critical mapping? Performance issue which one is better? Whether connected lookup tranformation or unconnected one?
Difference between ByVal and ByRef?
Visual Basic (800)
C Sharp (3816)
ASP.NET (3180)
VB.NET (461)
COM+ (79)
ADO.NET (717)
IIS (369)
MTS (11)
Crystal Reports (81)
BizTalk (89)
Dot Net (2435)
Exchange Server (362)
SharePoint (720)
WCF (340)
MS Office Microsoft (6963)
LINQ Language-Integrated Query (317)
WPF (371)
TypeScript (144)
Microsoft Related AllOther (311)