编译器警告(等级 1)CS0183
给定表达式始终为所提供的(“类型”)类型
如果条件语句的计算结果始终为 true,则不需要条件语句。 当尝试使用 is 运算符评估类型时,会出现此警告。 如果计算结果是值类型,则不需要进行检查。
下面的示例生成 CS0183:
// CS0183.cs
// compile with: /W:1
using System;
public class Test
{
public static void F(Int32 i32, String str)
{
if (str is Object) // OK
Console.WriteLine( "str is an object" );
else
Console.WriteLine( "str is not an object" );
if (i32 is Object) // CS0183
Console.WriteLine( "i32 is an object" );
else
Console.WriteLine( "i32 is not an object" ); // never reached
}
public static void Main()
{
F(0, "CS0183");
F(120, null);
}
}