using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
public class Menu
{
public int Id { get; set; }
public string Url { get; set; }
public string Name { get; set; }
public string ImageUrl { get; set; }

}
public class Favorites
{
public int Id { get; set; }
public int MenuId { get; set; }
public string MenuUrl{get;set;}
public string MenuName{get;set;}

}
class Program
{

static void Main(string[] args)
{
//菜单初始化 start 这里相当于从数据库查询出来的记录
List<Menu> MenuList = new List<Menu>();
MenuList.Add(new Menu { Id=1,Url="baidu",Name="百度",ImageUrl="百度图片"});
MenuList.Add(new Menu { Id = 2, Url = "google", Name = "谷歌", ImageUrl = "谷歌图片" });
MenuList.Add(new Menu { Id = 3, Url = "souhu", Name = "搜狐", ImageUrl = "搜狐图片" });
MenuList.Add(new Menu { Id = 4, Url = "sina", Name = "新浪", ImageUrl = "新浪图片" });
MenuList.Add(new Menu { Id = 5, Url = "aiqiyi", Name = "爱奇艺", ImageUrl = "爱奇艺图片" });
MenuList.Add(new Menu { Id = 6, Url = "bilibili", Name = "bilibili", ImageUrl = "bilibili图片" });
///菜单初始化 end
//收藏夹初始化 start 这里相当于想要添加到数据的记录 只是要去除已经重复的记录
List<Favorites> favoritesList = new List<Favorites>();
favoritesList.Add(new Favorites { MenuId = 1, MenuUrl = "baidu", MenuName = "百度" });
favoritesList.Add(new Favorites { MenuId = 2, MenuUrl = "google", MenuName = "谷歌" });
favoritesList.Add(new Favorites { MenuId = 3, MenuUrl = "souhu", MenuName = "搜狐" });
favoritesList.Add(new Favorites { MenuId = 4, MenuUrl = "sina", MenuName = "新浪" });
favoritesList.Add(new Favorites { MenuId = 5, MenuUrl = "aiqiyi", MenuName = "爱奇艺" });
favoritesList.Add(new Favorites { MenuId = 6, MenuUrl = "bilibili", MenuName = "bilibili" });
favoritesList.Add(new Favorites { MenuId = 7, MenuUrl = "tengxun", MenuName = "腾讯" });
favoritesList.Add(new Favorites { MenuId = 8, MenuUrl = "songxia", MenuName = "松下" });
//收藏夹初始化 end
#region 用于接收菜单中的选项 这里相当于已经存在的收藏
List<Favorites> list = new List<Favorites>();
list = MenuList.Select(m => new Favorites() { MenuId = m.Id, MenuUrl = m.Url }).ToList();
#endregion
//用于接收为收藏过的收藏
List<Favorites> list2 = new List<Favorites>();
//最新的收藏之中只要有一个收藏的MenuId,MenuUrl是在以前的收藏中出现过的就不是最新收藏 当b为true的时候为最新收藏放到list2中 定位最新收藏
favoritesList.ForEach(f =>
{
bool b = true;
list.ForEach(f1 => {
if (f.MenuId == f1.MenuId && f.MenuUrl == f1.MenuUrl)
{
b = false;

}

}); //foreach end
if (b)
{
list2.Add(f);
}
});

}
}
}

往数据库添加的时候(只添加以前未添加的记录的写法)c#的更多相关文章

  1. Quartz动态添加定时任务执行sql(服务启动添加+手动添加)

    系统用来每天插入视图数据... 一.数据库表设计 1.接口配置表(t_m_db_interface_config) 2.接口日志表(t_m_db_interface_log) 3.前端配置页面 查询页 ...

  2. 通过jquery来实现文本框和下拉框动态添加效果,能根据自己的需求来自定义最多允许添加数量,实用的jquery动态添加文本框特效

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 为添加了自定义域名的GitHub Pages添加SSL,启用强制HTTPS(小绿锁)

    直奔主题 为什么要使用https协议? 提高网站访问安全性,网络连接都是加密的 (PS:虽然SSL并不是无懈可击的,但是我们应该尽可能提高窃听成本). 目前越来越多的浏览器会判断当前站点支不支持htt ...

  4. mybatis+oracle添加一条数据并返回所添加数据的主键问题

    最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public ...

  5. iOS 10 (X8)上CoreData的使用(包含创建工程时未添加CoreData)

    1.在创建工程时未添加CoreData,后期想要使用CoreData则要在工程Appdelegate.h文件中添加CoreData库和CoreData中的通道类(用来管理类实例和CoreData之间的 ...

  6. postman连续添加多个订单&jmeter快速审核添加订单

    预期效果:添加多个订单,并审核(半自动?) 1.postman添加多个订单 post请求(postman基础的操作比较简单,网上有很详细的解说),单个接口保存[save] 单个接口保存[save],点 ...

  7. java PDF添加图层,支持多页图层添加

     java PDF添加图层,支持多页图层添加 代码: import java.io.File; import java.io.FileOutputStream; import java.io.IOEx ...

  8. webstorm 添加css前缀(兼容)自动添加

    Webstorm自动添加css前缀( 兼容) 百度了很多在webstorm中添加css前缀(兼容)自动添加,autoprefixer插件是首选,对于基本的css,还有less都支持,所以就选择了aut ...

  9. jquery 添加与删除的规律 当要添加时候要定位到自己的父元素 当要删除时候 通过事件函数传入的this找到自己的父元素进行删除

    jquery 添加与删除的规律 当要添加时候要定位到自己的父元素  当要删除时候 通过事件函数传入的this找到自己的父元素进行删除

  10. v-bind:value="diy" 添加到 <input type="button" /> 中可以,添加到<button />中不可以,diy是data中的数据

    v-bind:value="diy" 添加到 <input type="button" /> 中可以, 添加到<button />中不可 ...

随机推荐

  1. GOF23设计模式之状态模式(state)

    一.状态模式概述 用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题. 结构: (1)Context 环境类   环境类中维护一个 State 对象,它定义了当前的状态. (2)State ...

  2. appium 滑动封装

    #获得机器屏幕大小x,y def getSize():     x = dr.get_window_size()['width']     y = dr.get_window_size()['heig ...

  3. sorl基本原理

    索引原理 场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止.这种搜索 ...

  4. 使用wifi网卡笔记3---工具wpa_supplicant(STA模式)

    1.  wpa_supplicant介绍 supplicant是恳求者的意思,是wpa的发起者,是发送认证请求的设备(手机),手机--AP--认证服务器,可用于上述4种"认证/加密" ...

  5. 转-----FPGA工程师:持守梦想or屈于现实

     昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实版”解说颇有些耐人寻味.大体意思是说“拼了老命考上一所梦寐以求的大学,父母辛辛苦苦交了学费,我们却 ...

  6. http请求头设置

    Curl curl -i -H 'Content-Type: application/json' -i/--include     输出时包括protocol头信息curl -x 10.12.15.1 ...

  7. Crawlspider的自动爬取

    引子 : 如果想要爬取 糗事百科 的全栈数据的方法 ? 方法一 : 基于scrapy框架中的scrapy的递归爬取进行实现(requests模块递归回调parse方法) . 方法二 : 基于Crawl ...

  8. libaco: 一个极速的轻量级 C 非对称协程库 🚀 (10 ns/ctxsw + 一千万协程并发仅耗内存 2.8GB + Github Trending)

    0 Name 简介 libaco - 一个极速的.轻量级.C语言非对称协程库. 这个项目的代号是Arkenstone 

  9. Handlebars学习第一天

    1.什么是handlebars???是用来做什么的??? 首先我们要了解几种前端页面展示的几种模式: a.Struct+vo+el表达式的模式 这种模式的特点:代码看起来比较整齐,但代码解析完才发送到 ...

  10. Django框架开发web网站的网页优化—页面静态化

    网站优化-页面静态化 1)概念 提前将页面所用到的数据从数据库查询出来,然后生成一个静态页面,之后用户来访问的时候,直接返回静态页面. 举例:首页静态化:获取首页用到的数据表中的数据,生成静态首页in ...