List userList = new List();
/*
list.Add();添加单个元素
list.AddRange();添加集合
list.Insert();插入
list.InsertRange()插入集合;
list.Remove();移除
list.RemoveAt();根据下标移除
list.RemoveRange();移除一定范围
list.Content()判断是否包含
*/

//增删查改
//增加数据
public void AddDate(User user)
{
userList.Add(user);
//Save();
Console.WriteLine("添加用户成功!");
}
//删除数据
public void RemoveByName(string name)
{
for (int i = 0; i < userList .Count ; i++)
{
if (userList [i].Name ==name)
{
userList.Remove(userList[i]);
}
}
}

    public void RemoveByAddress(string address)
    {
        for (int i = 0; i < userList.Count; i++)
        {
            if (userList[i].Address  == address )
            {
                userList.Remove(userList[i]);
            }
        }
    }

    //修改数据
    public void ChangeDate(string name)
    {
        bool ex = false;
        for (int i = 0; i < userList .Count ; i++)
        {
            if (userList[i].Name == name )
            {
                ex = true;
            }
        }
        if (ex)
        {
            for (int i = 0; i < userList.Count; i++)
            {
                if (userList[i].Name == name)
                {
                    Console.WriteLine("请重新输入用户名称:");
                    string namec = Console.ReadLine();
                    Console.WriteLine("请重新输入用户年龄:");
                    int agec = int.Parse(Console.ReadLine());
                    Console.WriteLine("请重新输入地址:");
                    string addressc = Console.ReadLine();
                    userList[i].Name = namec;
                    userList[i].Age = agec;
                    userList[i].Address = addressc;
                    Console.WriteLine("修改成功");
                }
            } 
        }
        else
        {
            Console.WriteLine("不存在该用户!");
        }
    }
    //查询数据
    public void ShowAll()
    {
        if (userList.Count != 0)
        {
            for (int i = 0; i < userList.Count; i++)
            {
                Console.WriteLine(userList[i]);
            }
        }
        else Console.WriteLine("当前为空"); 
    }
}

List排序
1:List.Sort()//默认可对继承了IComparer,并实现了接口的Compare方法的对象类型进行排序(默认从小到大,自定义类型可继承接口更改Compare返回值(int)改变排序顺序,a>b? -1/a放在左,1/a放在右) -1:0:1
2:List.Sort(Comparison comparison)//通过委托函数进行比较
public delegate int Comparison(T a,T b)//要求传入函数与此基类委托类型相同
如:public static int CP(int a,int b)
{
//从大到小
return a > b ? -1 : 1;//a大于b时返回-1,则把大的数放到左边。a小于b时,返回-1,则把小的数放在右边。
//从大到小,也可以如下表示
//return a < b ? 1 : -1;//a小于b时,返回1,即小的放在右边。a大于b时发挥-1,即大的放在右边
}
nums.Sort(delegate (int a, int b) { return a > b ? -1 : 1; });CP函数用匿名函数代替
nums.Sort((a, b) => { return a > b ? -1 : 1; });//CP函数也可以用表达式代替(此处a,b也是泛型)

static void Main(string[] args)
    {
        //创建字典泛型集合
        Dictionary<string, string> dic = new Dictionary<string, string>();
        //        键,值
        /*
        foreach(KeyValuePair<int,string>,kv in dic)
        {
            cw(kv.Key,kv.Value);
        }
        */
        //往集合中添加数据
        dic.Add("baidu", "百度网");
        dic.Add("qq", "腾讯网");
        dic.Add("taobao", "淘宝网");

        //不可添加同键名的数据
        //dic.Add("taobao", "马云");

        //查询数据---集合名[键名]
        Console.WriteLine(dic["qq"]);
        Console.WriteLine(dic .Count );
        //删除数据---集合名.Remove(键名);
        dic.Remove("baidu");
        //修改数据---集合名[键名] = 新值;
        dic["qq"] = "马化腾";

        //遍历字典集合
        foreach (var item in dic .Keys )
        {
            Console.WriteLine("{0}:{1}",item ,dic[item]);
        }
        Console.ReadLine();
    }