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. 初识C++模板元编程(Template Mega Programming)

    前言:毕设时在开源库上做的程序,但是源码看得很晕(当时导师告诉我这是模板元编程,可以不用太在乎),最近自己造轮子时想学习STL的源码,但也是一样的感觉,大致了解他这么做要干什么,但是不知道里面的机制. ...

  2. 301重定向方法大全及SEO中网址规范化,看着不错先收下

    301重定向方法大全及SEO中网址规范化 现在大多数网站都存在一些内容相同但网址(URL)不一样的重复内容,这些重复的内容对于搜索引擎来说却可能被认为是复制网页,复制网页虽然不会被惩罚但因多个网址存在 ...

  3. Java程序员之JS(一) 之 JQuery.ajax

    背景:紧着现在项目的需要,先从JQuery.ajax出发,主要需求是通过 js 调用Java 代码,从而适应现在的项目. 先从几个概念开始讲解: 一. 什么是Deferred  Deferred 对象 ...

  4. git clone 后使用子分支

    git clone 项目git地址 git branch -a 切换到子分支进行开发 git ckeckout 子分支名称,如:git checkout dev_feature_call git pu ...

  5. mysql-5.6.17编译安装和常见问题

    mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL ...

  6. HTTP客户端之使用request方法向其他网站请求数据

    在node中,可以很轻松的向任何网站发送请求并读取该网站的响应数据. var req=http.request(options,callback); options是一个字符串或者是对象.如果是字符串 ...

  7. Fiddler监控面板显示Server栏(Fiddler v5.0)

    1.点击Rules下的Customize Rules.js,会打开Fiddler ScriptEditor 2.去掉 UI.lvSessions.AddBoundColumn("Server ...

  8. php switch

    php switch switch用法类型与if,但是为了方便 不用写那么多个elseif.所以要判断 多个变量的时候我们可以使用switch <?php $email="admin& ...

  9. Redis实战——Redis的pub/Sub(订阅与发布)在java中的实现

    借鉴:https://blog.csdn.net/canot/article/details/51938955 1.什么是pub/sub Pub/Sub功能(means Publish, Subscr ...

  10. properties 中文乱码问题的解决

    在用properties处理配置信息时,发现有时出现中文乱码的问题,后经查资料得知是由于编码不一致引起的.于是解决之. [原理解释] 我们用 API操作properties文件,如果获取的属性值是中文 ...