小编Lei*_*Kan的帖子

为什么字符串实习但有不同的引用?

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是假的.

他们在实习池中有两份副本吗?

提前致谢.

c# string referenceequals

5
推荐指数
2
解决办法
91
查看次数

Python:为什么两个实例使用相同的列表?

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)

python class list

-1
推荐指数
1
解决办法
135
查看次数

标签 统计

c# ×1

class ×1

list ×1

python ×1

referenceequals ×1

string ×1