首页 > 解决方案 > `return` 后面的 `(int)` 是什么意思

问题描述

  public static int SumDigits(int number)
  {
     return (int)number.ToString().Sum(x => char.IsNumber(x) ? char.GetNumericValue(x) : 0);
  }

(int)后面是什么return意思。

它完美运行,只需要了解它,谢谢。

标签: c#linq

解决方案


GetNumericValue方法返回一个double. The(int)是将返回的转换doubleint.

https://docs.microsoft.com/en-us/dotnet/api/system.char.getnumericvalue?view=netcore-3.1#System_Char_GetNumericValue_System_Char_

请记住,它会截断小数部分,这对于数字 char 值应该没问题。有类似Convert.ToInt32(doubleValue)(int) Math.Round(doubleValue)这样的方法,而不是截断结果。


推荐阅读