C# List 详解六

目录

35.MemberwiseClone()    

36.Remove(T)    

37.RemoveAll(Predicate)    

38.RemoveAt(Int32)    

39.RemoveRange(Int32, Int32)    

40.Reverse()    

41.Reverse(Int32, Int32)    


C# List 详解一

1.Add(T),2.AddRange(IEnumerable),3.AsReadOnly(),4.BinarySearch(T),

C# List 详解二

5.Clear(),6.Contains(T),7.ConvertAll(Converter),8.CopyTo(Int32, T[], Int32, Int32),9.CopyTo(T[]),10.CopyTo(T[], Int32)

C# List 详解三

11.Equals(Object),12.Exists(Predicate),13.Find(Predicate),14.FindAll(Predicate),15.FindIndex(Int32, Int32, Predicate),16.FindIndex(Int32, Predicate),17.FindIndex(Predicate)  

C# List 详解四

18.FindLast(Predicate),19.FindLastIndex(Int32, Int32, Predicate),20.FindLastIndex(Int32, Predicate),21.FindLastIndex(Predicate),22.ForEach(Action),23.GetEnumerator(),24.GetHashCode(),25.GetRange(Int32, Int32) 

C# List 详解五

26.GetType(),27.IndexOf(T),28.IndexOf(T, Int32),29.IndexOf(T, Int32, Int32),30.Insert(Int32, T),31.InsertRange(Int32, IEnumerable),32.LastIndexOf(T),33.LastIndexOf(T, Int32),34.LastIndexOf(T, Int32, Int32)    

C# List 详解六

35.MemberwiseClone(),36.Remove(T),37.RemoveAll(Predicate),38.RemoveAt(Int32),39.RemoveRange(Int32, Int32),40.Reverse(),41.Reverse(Int32, Int32)    

C# List 详解七

42.Sort(),43.ToArray(),44.ToString(),45.TrimExcess(),46.TrueForAll(Predicate) 

C# List 详解一_熊思宇的博客-CSDN博客

C# List 详解二_熊思宇的博客-CSDN博客

C# List 详解三_熊思宇的博客-CSDN博客

C# List 详解四_熊思宇的博客-CSDN博客

C# List 详解五_熊思宇的博客-CSDN博客

C# List 详解七_熊思宇的博客-CSDN博客

35.MemberwiseClone()    

创建当前 Object 的浅表副本。(继承自 Object)

protected object MemberwiseClone ();

返回
Object
当前 Object 的浅表副本。

案例:

using System;
using System.Collections.Generic;

namespace ListTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();
            person.Name = "张三";
            person.Age = 100;

            Person person1 = person.ShallowCopy();
            Console.WriteLine("Name:{0}", person1.Name);
            Console.WriteLine("Age:{0}", person1.Age);

            Console.ReadKey();
        }
    }

    class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }

        public Person ShallowCopy()
        {
            return (Person)this.MemberwiseClone();
        }
    }
}

运行:

C# List 详解六_第1张图片


36.Remove(T)    

从 List 中移除特定对象的第一个匹配项。

public bool Remove (T item);

参数
item
T
要从 List 中删除的对象。 对于引用类型,该值可以为 null。

返回
Boolean
如果成功移除了 item,则为 true;否则为 false。 如果在 false 中没有找到 item,则此方法也会返回 List

案例:

using System;
using System.Collections.Generic;

namespace ListTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List list = new List() { 1, 3, 5, 5, 6 };
            bool result = list.Remove(6);
            Console.WriteLine("移除结果:{0}", result);
            Console.WriteLine(string.Join("-", list));

            Console.ReadKey();
        }
    }
}

运行:

C# List 详解六_第2张图片

37.RemoveAll(Predicate)    

移除与指定的谓词所定义的条件相匹配的所有元素。

public int RemoveAll (Predicate match);

参数
match
Predicate
Predicate 委托,用于定义要移除的元素应满足的条件。

返回
Int32
从 List 中移除的元素数。

案例:

using System;
using System.Collections.Generic;

namespace ListTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List list = new List() { 1, 3, 5, 5, 6 };
            int result = list.RemoveAll(x => x > 3);
            Console.WriteLine("移除个数:{0}", result);
            Console.WriteLine(string.Join("-", list));

            Console.ReadKey();
        }
    }
}

运行:

C# List 详解六_第3张图片

38.RemoveAt(Int32)    

移除 List 的指定索引处的元素。

public void RemoveAt (int index);

参数
index
Int32
要移除的元素的从零开始的索引。

案例:

using System;
using System.Collections.Generic;

namespace ListTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List list = new List() { 1, 3, 5, 5, 6 };
            list.RemoveAt(1);
            Console.WriteLine(string.Join("-", list));

            Console.ReadKey();
        }
    }
}

运行:

C# List 详解六_第4张图片

39.RemoveRange(Int32, Int32)    

从 List 中移除一系列元素。

public void RemoveRange (int index, int count);

参数
index
Int32
要移除的元素范围的从零开始的起始索引。

count
Int32
要移除的元素数。

案例:

using System;
using System.Collections.Generic;

namespace ListTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List list = new List() { 1, 3, 5, 5, 6 };
            list.RemoveRange(1, 2);
            Console.WriteLine(string.Join("-", list));

            Console.ReadKey();
        }
    }
}

运行:

C# List 详解六_第5张图片

40.Reverse()    

将整个 List 中元素的顺序反转。

public void Reverse ();

注解
此方法用于 Array.Reverse 反转元素的顺序。

此方法是一个 O (n) 操作,其中 nCount。

案例:

using System;
using System.Collections.Generic;

namespace ListTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List list = new List() { 1, 3, 5, 5, 6 };
            list.Reverse();
            Console.WriteLine(string.Join("-", list));

            Console.ReadKey();
        }
    }
}

运行:

C# List 详解六_第6张图片

41.Reverse(Int32, Int32)    

将指定范围中元素的顺序反转。

public void Reverse (int index, int count);

参数
index
Int32
要反转的范围的从零开始的起始索引。

count
Int32
要反转的范围内的元素数。

案例:

using System;
using System.Collections.Generic;

namespace ListTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List list = new List() { 1, 3, 5, 5, 6 };
            list.Reverse(1,3);
            Console.WriteLine(string.Join("-", list));

            Console.ReadKey();
        }
    }
}

运行:

C# List 详解六_第7张图片

第 6 / 7  篇  End

你可能感兴趣的:(C#,c#)