不能保证!

以下的简单测试程序可以证明这点

using System;
using System.Collections.Generic;

namespace ConsoleApplication1
{
    // 定义一个类
    class Person
    {
        public string Name;
        public int Age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            // 创建集合并向集合中添加一些元素
            List<Person> list = new List<Person>();
            list.Add(new Person { Name = "Li", Age = 23 });
            list.Add(new Person { Name = "Xu", Age = 21 });
            list.Add(new Person { Name = "Jin", Age = 24 });
            
            // p0引用集合元素0
            Person p0 = list[0];
            // p1引用集合元素1
            Person p1 = list[1];
            
            // 清除集合    
            list.Clear();
            
            // 集合清除后,p0和p1仍然有效,所以以下语句可以输出,不会出错
            Console.WriteLine(p1.Name);
            Console.WriteLine(p2.Name);
        }
    }
}

结论:单纯清除集合元素,不能保证内存不泄漏。能否彻底释放对象,关键在于对这个对象的引用次数是否为零!在上面的程序中,集合虽然被清除了,但原来集合中元素0和元素1仍然被p0和p1引用着,所以,两个对象依然有效

是真的,2015年6月9日苹果公司在WWDC15 中首次提出 ATS (App Transport Security),2016年6月14日苹果公司在WWDC16中在此声明将持续收紧ATS限制策略,同年苹果公司宣布2017年1月1日,全面启动ATS限制策略,强制使用HTTPS加密传输。不过在2016年12月的时候,苹... 点击进入详情页 本回答由 天威诚信电子商务服务 提供