C# Programming Questions and Answers
Type of Conversion in which compiler is unable to convert the datatype implicitly is ?
‘int’ is 32 bit signed integer whereas ‘uint’ is 32 bit unsigned integer .Range of int is larger than uint.So,compiler cannot implicitly convert from larger datatype to smaller datatype.
’Implicit Conversion’ follows the order of conversion as per compatibility of datatype as :
Answer: Option B
What is the need for ‘Conversion of data type’ in C#?
Answer: Option (C)
Types of ‘Data Conversion’ in C#?
Answer: Option (B)
Subset of ‘int’ datatype is :
Answer: Option (C)
For the given set of code, is conversion possible?
staticvoid Main(string[] args)
{
int a =76;
char b;
b =(char)a;
Console.WriteLine(b);
Console.ReadLine();
}
Since, given conversion is of explicit type as one datatype is in integer and other is in ‘char’.Compiler is needed to make a clear distinction between both type of datatypes and hence,explicitly one need to specify datatype as compiler is unable to make automatic conversion.
Output : L.
Which of the conversions are valid for the given set of code?
staticvoid Main(string[] args)
{
int a =22;
long b =44;
double c =1.406;
b = a;
c= a;
a= b;
b = c;
}
Explanation:Conversion of data type from ‘int’ to ‘double’ is implicit in nature for ‘c = a’ as int is subset of double but same is not applicable for ‘b = c’ as ‘c’ had wider scope of data range then ‘b’ so explicit conversion is needed. Same explanation for option ‘b’.
Output :
Error 1 :Cannot implicitly convert type ‘long’ to ‘int’. An explicit conversion exists (are you missing a cast?).
Error 2 :Cannot implicitly convert type ‘double’ to ‘long’. An explicit conversion exists (are you missing a cast?)
Correct solution :
static void Main(string[] args)
{
int a = 22;
long b = 44;
double c = 1.406;
b = a;
c = a;
a = (int)b;
b = (long)c;
}
For the given set of code select the relevant solution for conversion of data type.
staticvoid Main(string[] args)
{
int num1 =20000;
int num2 =50000;
long total;
total = num1 + num2;
Console.WriteLine("Total is : "+total);
Console.ReadLine();
}
Since,conversion of datatype is implicit type as ‘int’ is a subset of ‘longtype’ hence no need to explicitly convert data from one type to another.Compiler will automatically do conversion.
Output : Total is : 70000.
Predict the relevant output for the given set of code.
staticvoid Main(string[] args)
{
float sum;
int i;
sum = 0.0F;
for(i =1; i <=10; i++)
{
sum = sum +1/(float)i;
}
Console.WriteLine("sum ="+sum);
Console.ReadLine();
}
Answer: Option (C)