官术网_书友最值得收藏!

  • Learn C# in 7 days
  • Gaurav Aroraa
  • 250字
  • 2021-07-08 09:51:27

Explicit conversion

Explicit conversion is the conversion that is performed by the user explicitly with the use of the cast operator; that's why this is also known as type casting. Explicit conversion is also possible using built-in type conversion methods. For more information, refer to https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/explicit-numeric-conversions-table.

Let's take a look at the following code snippet, which shows implicit/explicit type conversion in action:

private static void ImplicitExplicitTypeConversionExample() 
{ 
WriteLine("Implicit conversion"); 
int numberInt = 2589; 
double doubleNumber = numberInt; // implicit type conversion 

WriteLine($"{nameof(numberInt)} of type:{numberInt.GetType().FullName} has value:{numberInt}"); 
WriteLine($"{nameof(doubleNumber)} of type:{doubleNumber.GetType().FullName} implicitly type casted and has value:{doubleNumber}"); 
 
WriteLine("Implicit conversion"); 
doubleNumber = 2589.05D; 
numberInt = (int)doubleNumber; //explicit type conversion 
WriteLine($"{nameof(doubleNumber)} of type:{doubleNumber.GetType().FullName} has value:{doubleNumber}"); 
WriteLine($"{nameof(numberInt)} of type:{numberInt.GetType().FullName} explicitly type casted and has value:{numberInt}"); 
} 

In the preceding code-snippet, we discussed implicit and explicit conversion when we assign a variable numberInt of int type to a variable doubleNumber of double type, which is called implicit type conversion, and the reverse is an explicit type conversion that requires a casting using int. Note that implicitly, type conversion does not require any casting, but explicitly, conversion requires type casting, and there are chances for loss of data during explicit conversion. For instance, our explicit conversion from double to int would result in a loss of data (all precision would be truncated while a value is assigned to int type variable). This code produces the following result:

The two most important language fundamentals are type conversion and casting. To know more about these two, refer to https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/casting-and-type-conversions.
主站蜘蛛池模板: 乐都县| 云和县| 东乌珠穆沁旗| 永州市| 满城县| 突泉县| 大渡口区| 博乐市| 焉耆| 泸定县| 陆良县| 广东省| 皋兰县| 扶绥县| 开封市| 崇文区| 廉江市| 芷江| 望城县| 台中市| 潍坊市| 古交市| 绥滨县| 济阳县| 武穴市| 合川市| 华阴市| 通州区| 福建省| 顺昌县| 绍兴县| 安丘市| 鄂尔多斯市| 湘潭市| 七台河市| 赞皇县| 凤翔县| 西吉县| 内江市| 宝丰县| 延庆县|