常用的对list 数据的一些处理等;
1. List 去除重复.使用重载的Distinct,自定义实现Compare
2.list where查找
3.list判断是否存在符合指定条件的某元素;
4.IEqualityComparer接口的实现,自定义比较判断规则.
5.Stopwatch的使用(侦测代码的执行开销时间);
值类型直接略过,主要是自定义类的部分.
详见代码.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace ListDistinct
{
class Program
{
static void Main(string[] args)
{
List<epcData> list = new List<epcData>();
list.Add(new epcData("192.168.1.100","E99999"));
list.Add(new epcData("192.168.1.100", "E99999"));
list.Add(new epcData("192.168.1.100", "E55555"));
list.Add(new epcData("192.168.1.111", "E88888"));
list.Add(new epcData("192.168.1.111", "E66666"));
list.Add(new epcData("192.168.1.111", "E66666"));
list.Add(new epcData("192.168.1.222", "E22222"));
list.Add(new epcData("192.168.1.222", "test"));
list.Add(new epcData("192.168.1.100", "E99999"));
list.Add(new epcData("192.168.1.100", "E99999"));
list.Add(new epcData("192.168.1.100", "E55555"));
list.Add(new epcData("192.168.1.111", "E88888"));
list.Add(new epcData("192.168.1.111", "E66666"));
list.Add(new epcData("192.168.1.111", "E66666"));
list.Add(new epcData("192.168.1.222", "E22222"));
Stopwatch swatch = new Stopwatch();
swatch.Start();
//list是非常灵活的结构,可以使用Where来移除特定条件的元素,比Remove更灵活
list = list.Where(a => a.epc != "test").ToL