当前位置: 首页 > news >正文

网站logo例子页面设计公司排名前十

网站logo例子,页面设计公司排名前十,建站哪家好要认定兴田德润,seo案例分析方案目录 一、示例代码 二、示例输出 三、注意雷点 四、全字段去重封装方法 1.封装 2.示例 一、示例代码 using System; using System.Collections.Generic; using System.Linq;public class Program {public static void Main(){// 创建一些示例实体对象var people new Li…

目录

一、示例代码

二、示例输出

三、注意雷点

四、全字段去重封装方法

1.封装

2.示例


一、示例代码

using System;
using System.Collections.Generic;
using System.Linq;public class Program
{public static void Main(){// 创建一些示例实体对象var people = new List<Person>{new Person { Name = "Alice", Age = 30, City = "New York" },new Person { Name = "Bob", Age = 25, City = "Los Angeles" },new Person { Name = "Alice", Age = 30, City = "New York" },//重复的new Person { Name = "Charlie", Age = 35, City = "Chicago" },new Person { Name = "Alice", Age = 28, City = "San Francisco" }};// 1. 单字段去重var uniqueNameFields = people.DistinctBy(p =>p.Name).ToList();Console.WriteLine("指定字段(Name)去重结果,重复则保留第一条:");foreach (var person in uniqueNameFields){Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");}// 2. 多字段去重var uniqueNameAgeFields = people.DistinctBy(p => new { p.Name, p.Age }).ToList();Console.WriteLine("\n指定字段(Name, Age)去重结果,重复则保留第一条:");foreach (var person in uniqueNameAgeFields){Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");}//3.全字段去重// 通过 GroupBy 按 Name 和 Age 字段去重var uniquePeople = people.DistinctBy(p => new { p.Name, p.Age, p.City }).ToList();Console.WriteLine("\n全字段去重:");foreach (var person in uniquePeople){Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");}}
}public class Person
{public string Name { get; set; }public int Age { get; set; }public string City { get; set; }
}

二、示例输出

指定字段(Name)去重结果,重复则保留第一条:
Name: Alice, Age: 30, City: New York
Name: Bob, Age: 25, City: Los Angeles
Name: Charlie, Age: 35, City: Chicago指定字段(Name, Age)去重结果,重复则保留第一条:
Name: Alice, Age: 30, City: New York
Name: Bob, Age: 25, City: Los Angeles
Name: Charlie, Age: 35, City: Chicago
Name: Alice, Age: 28, City: San Francisco全字段去重:
Name: Alice, Age: 30, City: New York
Name: Bob, Age: 25, City: Los Angeles
Name: Charlie, Age: 35, City: Chicago
Name: Alice, Age: 28, City: San Francisco

三、注意雷点

        以下代码不能完成全字段去重,因为people是引用类型,Distinct() 一般用于List<string>,List<int>这些值类型去重,而不涉及引用类型的字段比较。

people.Distinct().ToList()

        若需要全字段去重:1.使用DinstinctBy语法,加上所有字段。2.使用标题四的封装方法(反射实现全字段去重)。

四、全字段去重封装方法

1.封装

/// <summary>
/// 通用的全字段去重方法
/// </summary>
/// <returns></returns>
public static IEnumerable<T> DistinctByAllFields<T>(IEnumerable<T> items)
{// 获取 T 类型的所有字段值var properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);return items.GroupBy(item => string.Join(",", properties.Select(p => p.GetValue(item))))  // 按所有字段值连接生成唯一标识符.Select(group => group.First());  // 取每组的第一个元素
}

2.示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;public class Program
{public static void Main(){// 创建一些示例实体对象var people = new List<Person>{new Person { Name = "Alice", Age = 30, City = "New York" },new Person { Name = "Bob", Age = 25, City = "Los Angeles" },new Person { Name = "Alice", Age = 30, City = "New York" },new Person { Name = "Charlie", Age = 35, City = "Chicago" },new Person { Name = "Alice", Age = 28, City = "San Francisco" }};// 调用封装的去重方法var uniquePeople = DistinctByAllFields(people).ToList();Console.WriteLine("根据所有字段去重的结果:");foreach (var person in uniquePeople){Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");}}/// <summary>/// 通用的全字段去重方法/// </summary>/// <returns></returns>public static IEnumerable<T> DistinctByAllFields<T>(IEnumerable<T> items){// 获取 T 类型的所有字段值var properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);return items.GroupBy(item => string.Join(",", properties.Select(p => p.GetValue(item))))  // 按所有字段值连接生成唯一标识符.Select(group => group.First());  // 取每组的第一个元素}
}public class Person
{public string Name { get; set; }public int Age { get; set; }public string City { get; set; }
}

http://www.yayakq.cn/news/576770/

相关文章:

  • 唐山建设企业网站青岛网络营销网络推广介绍
  • 建设银行官方网站客户端辽宁省建设厅安全员考试官方网站
  • 怎么在网站做系统婚纱摄影网站模板下载
  • 宁波网站建设招聘网小程序代理加盟前景
  • 专业做网站设计怎么一键删除wordpress
  • 西安网站自然排名优化西安网站建设易网宣
  • 主要给人家做网站的公司株洲电商网站建设
  • 优秀国内个人网站企业网站开发公司有哪些
  • pc网站制作公司wordpress个人博客系统实现
  • 网站建设实践心得体会企业网站推广方案在哪里
  • 怎样找素材做网站综合类网站怎么做
  • 网站开发和数据库哪个有前途怎样用ps做网站
  • 广州手机模板建站哪家企业网站做的好
  • 邳州哪家做百度推广网站做一件代发的网站
  • 电影宣传网站模板免费下载wordpress首页生成html
  • 网站建设数据库的选择asp.net网站开发pdf
  • 大网站如何优化建设部网站房地产资质
  • 为啥浏览做的网站有移动条win10怎么做网站
  • 大型网站建设建站模板密云建设网站
  • 门户网站做重庆微信网站建设价格
  • 福建公司网站开发电商代运营
  • 网站建设 福田交城有做网站的吗
  • 网站建设遵循的原则个人免费建站的网站
  • 国家建设工程信息网站网站制作时如何分析竞争对手
  • 哪个网站可以做记录视频用wordpress做的博客
  • 织梦cms小说网站采集惠州网站优化
  • 网站资质优化网站界面设计需要
  • 做红包网站长治网站建设电话
  • 建筑工程网络图视频教程襄樊seo排名
  • 滁州网站建设哪个好点服务器维护内容