string s1 = "abc";
string s2 = "ab";
string s3 = s2 + "c";
Console.WriteLine(string.IsInterned(s3)); // abc
Console.WriteLine(String.ReferenceEquals(s1, s3)); // False
Run Code Online (Sandbox Code Playgroud)
我只是不明白为什么s3实习,但是ReferenceEquals
是假的.
他们在实习池中有两份副本吗?
提前致谢.
class Number():
list = []
number = Number()
number.list.append(0)
print number.list # [0]
newNumber = Number()
newNumber.list.append(1)
print newNumber.list # [0,1]
Run Code Online (Sandbox Code Playgroud)
我创建了两个实例,为什么newNumber.list对象有0?为什么number和newNumber使用相同的列表?有人可以帮帮我吗?为什么'i'在后面没有变化?
class Number:
i = 0
number = Number()
number.i = 1
print number.i # 1
newNumber = Number()
print newNumber.i # 0
Run Code Online (Sandbox Code Playgroud)