对于泛型和类型转换的优先级

你们猜猜谁先打印,不看答案,能猜出来吗,写在评论区
下面有3道题目,分别写出答案在评论区

1、

  class Test
  {
      public static void Main()
      {
          Foo("Hello");
      }

      public static void Foo(object x)
      {
          Console.WriteLine("object");
      }

      public static void Foo<T>(params T[] x)
      {
          Console.WriteLine("params T[]");
      }
  }
  
  字符串转object的速度比不上params

2、

  class Test
  {
      public static void Main()
      {
          Foo("Hello");
      }

      public static void Foo(object x)
      {
          Console.WriteLine("object");
      }

      public static void Foo<T>(T[] x)
      {
          Console.WriteLine("params T[]");
      }
  }
  
  字符串转泛型数组的速度比不上转object的速度

3、

  class Test
  {
      public static void Main()
      {
          Foo("Hello");
      }

      public static void Foo(object x)
      {
          Console.WriteLine("object");
      }

      public static void Foo<T>(T x)
      {
          Console.WriteLine("params T[]");
      }
  }
  
  字符串转object的速度比不上字符串转泛型的速度
posted @ 2024-08-02 20:21  孤沉  阅读(2)  评论(0编辑  收藏  举报