为什么输入“int"永远不等于“空"?
- 作者: 再打我可真生气了
- 来源: 51数据库
- 2022-10-20
问题描述
int n == 0;
if (n == null)
{
Console.WriteLine("......");
}
表达式 (n == null) 的结果是否总是 false 因为
int 类型的值永远不等于 null 类型 int?(见下面的警告)
Is it true that the result of expression (n == null) is always false since
a value of type int is never equal to null of type int? (see warning below)
警告 CS0472 表达式的结果始终为false",因为int"类型的值永远不会等于int"类型的null"?
Warning CS0472 The result of the expression is always 'false' since a value of type 'int' is never equal to 'null' of type 'int?'
推荐答案
如果您希望整数变量允许空值,请将其声明为 可空类型:
If you want your integer variable to allow null values, declare it to be a nullable type:
int? n = 0;
注意 int 之后的 ?,这意味着该类型可以具有值 null..NET Framework v2.0 引入了可空类型.
Note the ? after int, which means that type can have the value null. Nullable types were introduced with v2.0 of the .NET Framework.
推荐阅读
- C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
热点文章
团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
0
使用 MSBuild.exe 在发布模式下构建 C# 解决方案
0
当我发布 Web 应用程序时,AfterPublish 脚本不运行
0
构建时 T4 转换的产品仅在下一个构建中使用
0
ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
0
新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
0
如何将条件编译符号(DefineConstants)传递给 msbuild
0
MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
0
NuGet 包还原找不到包,没有源
0
使用 C# 6.0 功能运行 TFS 构建
0
