In C# there are different data type and they use some default value when we declare a variable. When we define a variable of type int or Int32 say int score; so what is the value of score, will it be null or zero, in the same way if we create a variable of type string/String what value it holds by default. I was working on a project and used following code
int score; If (somecondition == true) score = somevalue;
And I was expecting if condition is true then score will be assigned otherwise it would be null but I was wrong because default value for an int variable is zero (0). Finally I changed my code, and forcibly make my score variable to nullable.
Int? score; If (somecondition == true) score = somevalue;
On the other hand String is by default null and not an empty string also string not a value type in C# but its a reference type.
Here is the some mostly used data type and their default values
DATE TYPE | DEFAULT VALIE
------------------------------------
String | null
bool | false
char | '\0'
decimal | 0.0M
double | 0.0D
enum | The value produced by the expression (E)0,
where E is the enum identifier.
float | 0.0F
int | 0
long | 0L
sbyte | 0
short | 0
struct | The value produced by setting all value-type fields to their
default values and all reference-type fields to null.
uint | 0
ulong | 0
ushort | 0
No comments:
Post a Comment