C# 面试题 目录

C# 中 is 表达式模式的用法

推荐答案

-- -------------------- ---- -------
-- ---- -- --- --
-
    ----------------------- -- -- -------- ------
-
---- -- ---- -- ------ --
-
    ----------------------- -- - ------- ------
-
----
-
    ---------------------- -- ------- -- ------- --- - ---------
-

本题详细解读

is 表达式模式的基本用法

在 C# 7.0 及以上版本中,is 表达式模式允许你在进行类型检查的同时,将对象转换为指定类型的变量。这种模式不仅简化了代码,还提高了代码的可读性。

语法解析

  • obj:要检查的对象。
  • Type:要检查的类型。
  • variable:如果 objType 类型,variable 将包含转换后的值。

示例代码解析

-- -------------------- ---- -------
------ --- - ---

-- ---- -- --- --
-
    ----------------------- -- -- -------- ------
-
---- -- ---- -- ------ --
-
    ----------------------- -- - ------- ------
-
----
-
    ---------------------- -- ------- -- ------- --- - ---------
-
  • 在这个示例中,obj 是一个 object 类型的变量,其值为 42
  • if (obj is int i):检查 obj 是否是 int 类型,如果是,则将 obj 转换为 int 类型并赋值给变量 i
  • else if (obj is string s):如果 obj 不是 int 类型,则检查它是否是 string 类型,如果是,则将 obj 转换为 string 类型并赋值给变量 s
  • 如果 obj 既不是 int 也不是 string 类型,则执行 else 块中的代码。

适用场景

  • 当你需要检查一个对象的类型并同时进行类型转换时,is 表达式模式非常有用。
  • 它特别适用于处理多态对象或不确定类型的对象时,简化了类型检查和转换的代码。

注意事项

  • is 表达式模式只能在 C# 7.0 及以上版本中使用。
  • 在使用 is 表达式模式时,确保类型转换是安全的,避免运行时异常。
纠错
反馈