C# 字符串留用 Intern与IsInterned 使用IsInterned时,如果参数不在线程堆上,那么就返回null,并不会创建新字符串,如下图 test3为null,说明“xyz”不在线程堆上; test4为“x”,说明“x”在线程堆上 有一个现象,我们把test5放在test3后面声明一个“xyz” 运行后可以看到test3不为null,这说明在程序运行时,“xyz”已经在test5的参数里存到了堆上。