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

计算机网络实验 做网站的乔拓云网站建设

计算机网络实验 做网站的,乔拓云网站建设,企业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.r43.cn/news/529.html

相关文章:

  • 台州建站程序河北企业网站建设
  • 网站开发宣传图片快排seo
  • 企业网站建设美丽seo搜索如何优化
  • wordpress电子邮件注册360搜索优化
  • 威海住房和城乡建设局官方网站免费可用的网站源码
  • 网站做cnzz流量统计品牌营销推广
  • 网站漂浮怎么做网站信息组织优化
  • 在线长链接转短链接长春seo排名扣费
  • 学院的网站怎么做网络营销成功案例
  • 网站建设有什么证百度投流运营
  • 做旅游网站怎么做呀微信营销软件
  • 佛山做网站公司排名免费培训seo
  • 世界购物平台排行榜排名优化百度
  • 世界杯网站开发搜索引擎内部优化
  • 做网站每天任务及实训过程搜客
  • 北京市基础建设质量监督局网站seo优化自学
  • 企业网站不被百度收录网页制作教程步骤
  • 做网站的重要性保定网站制作
  • 外贸网站建设费用情况优秀的软文广告欣赏
  • www 上海网站建设百度免费
  • 企业网站 手机网站 app 微网站购物网站网页设计
  • 网站建设投标书范本lol今日赛事直播
  • 访问国外的网站很慢免费引流推广方法
  • 购物网站开发中查看订单的实现逻辑品牌运营策划方案
  • 广东网站建设价格优化seo是什么
  • 自助网站建设系统站长素材
  • 网站开发人员的职责营销软文范例大全300字
  • 广州做企业网站找哪家公司好大一html网页制作作业
  • 网站展示型推广有哪些网络服务平台
  • wordpress style.宁波营销型网站建设优化建站