提问人:ungsan 提问时间:10/29/2023 最后编辑:Theodor Zouliasungsan 更新时间:10/29/2023 访问量:38
C# List.Remove delete 元素是否通过比较它们的内存地址?
Is C# List.Remove delete element by compare their memory address?
问:
class secretClass
{
public string name;
public int score;
}
private void start()
{
List<secretClass> secretList = new List<secretClass>();
secretClass temp = new secretClass() { name="hello", score=10 };
secretList.Add(temp);
secretClass temp1 = new secretClass() { name = "super", score = 24 };
secretList.Add(temp1);
secretClass temp2 = new secretClass() { name = "power", score = 30 };
secretList.Add(temp2);
readAllSecretClass(secretList);
Console.WriteLine("\n\n");
secretList.Remove(temp); // <- can remove if have that class
secretList.Remove(temp2);
readAllSecretClass(secretList);
}
void readAllSecretClass(List<secretClass> list)
{
if (list.Count != 0)
for (int i = 0; i < list.Count; i++)
Console.WriteLine(list[i].name);
else
Console.WriteLine("nothing to read in this list");
}
这段代码如何完美地工作?List.Remove
是否使用其内存地址(引用)处理对象??List.Remove
到目前为止,我使用()函数来清理列表,但是从现在开始,如果它通过接近他们的内存地址来删除元素,我可以更轻松地管理!RemoveAt
List
List
答: 暂无答案
评论
T
IEquatable<T>
Equals
Object.Equals
Equals
secretClass
Equals