C#里怎么样使用new修饰符来让类智能选择基类函数还是派生类函数?
 在C#里有一个特殊的用法,就是在创建与基类相同的函数时,
 如果使用一个new修饰符,就会导致它会根据变量的类型而选择不同的函数运行。
 这是一个比较特殊的使用方法,一般情况下,不建议这样使用。
 除非有特殊的领域。
使用例子演示如下:
  
/*
 *  C# Program to Demonstrate New modifier
 */
using System;
 
class TEST
{
    public void func()
    {
        Console.WriteLine("TEST.func");
    }
}
 
class TEST1 : TEST
{
    public new void func()
    {
        Console.WriteLine("TEST1.func");
    }
}
 
class Program
{
    static void Main()
    {
        TEST ref1 = new TEST(); 
        TEST ref2 = new TEST1();
        TEST1 ref3 = new TEST1();
 
        ref1.func();
        ref2.func();
        ref3.func();
        Console.Read();
    }
} 
输出如下:
Enter a Number : 25 TEST.func TEST.func TEST1.func
在这里特别要注意
TEST ref2 = new TEST1();
这行代码的运行输出。






![【力扣热题100】[Java版] 刷题笔记-3. 无重复字符的最长子串](https://i-blog.csdnimg.cn/direct/f14af36e39434084a2375107fcbd4cfb.png)











