linq

.net mvc(一)将数据库提取出来显示在网页

坚强是说给别人听的谎言 提交于 2020-08-10 09:44:16
默认已经连接数据库,数据库实体名称是:MusicStoreBD.cs 一、实例化数据库 ①在项目文件夹下的Controller中创建新控制器MusicStore(可选操作) ②实例化:MusicStoreBD ms = new MusicStoreBD(); MusicStoreBD ms = new MusicStoreBD(); 二、添加操作 ①提取数据 ②显示数据 public ActionResult Index() { var musiclist = from i in ms.MusicInfo select i; // LinQ语句,从数据库中提取数据 // MusicInfo是一张表 return View(musiclist.ToList()); // 执行ToList()操作,列表 } 注:MusicStore控制器的完整代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MusicStore.Models; namespace MusicStore.Controllers { public class StoreController : Controller { // GET:

算法面试题:一个List<Student>,要求删除里面的男生,不用Linq和Lamda,求各种解,并说明优缺点!

左心房为你撑大大i 提交于 2020-08-10 08:38:38
算法面试题:一个List ,要求删除里面的男生,不用Linq和Lamda,求各种解,并说明优缺点! 解题思路 这是群里某位小伙伴去面试碰到的面试题,从题目本身来看,面试官应该是要考察面试者对泛型 List 的理解程度,也算是对基础的理解。这里面还是有很多需要考察的知识点,没关系,我们走一步看一步。 首先,题目没有限定数量,我们知道,只谈毒性不谈剂量的都是耍流氓,那我们就假定要处理的数据有 10000 条好了。 数据准备好了 static readonly string text =

C#实现局域网聊天 通讯 Socket TCP 多人

老子叫甜甜 提交于 2020-08-10 06:39:25
程序分别为服务端与客户端,服务端创建套接字使用多线程侦听多客户端请求 代码需要引用System.Net;和System.Net.Socket;这两个类 分享源码demo:https://pan.baidu.com/s/10RuE9Vk0cIoxY91uzx4Gig 提取码:4eds 运行图: 服务端 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace ConsoleServer 7 { 8 class Program 9 { 10 static void Main( string [] args) 11 { 12 ServerControl Server = new ServerControl(); // 初始化Socket 13 Server.Start(); // 启动侦听连接 14 // Console.WriteLine("123"); 15 Console.Read(); 16 } 17 } 18 } 展开查看代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5

api接口返回动态的json格式?我太难了,尝试一下 linq to json

纵然是瞬间 提交于 2020-08-09 21:23:05
一:背景 1. 讲故事 前段时间和一家公司联调api接口的时候,发现一个奇葩的问题,它的api返回的json会动态改变,简化如下: {"Code":101,"Items":[{"OrderTitle":"订单1"}]} {"Code":102,"Items":[{"ProductTitle":"商品1"}]} 逻辑是这样的: Items 中的内容会随的 Code 的改变而改变,里面有可能是订单列表又有可能是商品列表,习惯弱类型的朋友看这种json太正常不过了,但对于强类型的我们来说,简直就是一个大写的奇葩,你这让我用什么强类型反序列化呢???,如果还没理解,请看下面的这张图吧! 经过沟通,对方果然用的是弱类型的php,磨了半天,说服让对方改了返回结构,这样就可以直接用固有类匹配。 二:寻找解决办法 从业务上来说,能说服对方让步那是最好的,但从技术上来说,这种场景有什么好的解决办法呢? 问题的本质就是json是动态的,你反序列化的时候无法指定匹配类。 1. 使用 dynamic 既然是动态的,那C#中也有一个动态类型 dynamic,何不用它来做json中动态变化的那部分的接受值,将 items 定义为 dynamic。如下图: 从图中看: rsp.Items as List<OrderItem> 返回是null,尝试失败,虽然转化失败了,但我相信你也看到了 Newtonsoft

何时使用.First以及何时将.FirstOrDefault与LINQ结合使用?

送分小仙女□ 提交于 2020-08-09 18:57:03
问题: I've searched around and haven't really found a clear answer as to when you'd want to use .First and when you'd want to use .FirstOrDefault with LINQ. 我到处搜索,还没有真正找到关于何时使用 .First 以及何时将 .FirstOrDefault 与LINQ结合使用的明确答案。 When would you want to use .First ? 您什么时候要使用 .First ? Only when you'd want to catch the exception if no results where returned? 仅当您希望在没有返回结果的情况下捕获异常时? var result = List.Where(x => x == "foo").First(); And when would you want to use .FirstOrDefault ? 以及何时要使用 .FirstOrDefault ? When you'd always want the default type if no result? 如果没有结果,何时总是需要默认类型? var result = List.Where(x => x

C#实现局域网聊天 通讯 Socket TCP 多人

老子叫甜甜 提交于 2020-08-09 18:04:56
程序分别为服务端与客户端,服务端创建套接字使用多线程侦听多客户端请求 代码需要引用System.Net;和System.Net.Socket;这两个类 分享源码demo:https://pan.baidu.com/s/10RuE9Vk0cIoxY91uzx4Gig 提取码:4eds 运行图: 服务端 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace ConsoleServer 7 { 8 class Program 9 { 10 static void Main( string [] args) 11 { 12 ServerControl Server = new ServerControl(); // 初始化Socket 13 Server.Start(); // 启动侦听连接 14 // Console.WriteLine("123"); 15 Console.Read(); 16 } 17 } 18 } 展开查看代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5

揭露.net培训结构软谋收钱踢学员的套路

烈酒焚心 提交于 2020-08-09 17:58:46
本人小码农一枚,主要做.net方向,苦于进步无门,各种资料收集渠道受限,最后狠心花一个月工资将近5000报名了软谋的高级班,当时是冲着软谋的一位很有实力的讲师去的,但是刚报名,那位老师就自己出去创业了朝夕教育,而且办的很火。所以当时本人强烈要求退钱,后面软谋机构承诺补偿一期架构班(现价6999),而且拒不退款,也就没办法了,从此跟着架构班学习了(注:本人天津大学毕业,后面会上传学位证,避免水军说我智商不够学不会)。软谋课表因为侵权大家可以自行百度。 大家看了目录是不是非常诱人,瞬间有种高大上的感觉。在满怀希望报名后,却发现课程实质跟课表差距太大了,一共三个老师在讲,其中一个还可以,认真负责。另外2个一个是灵魂画手,天天上课在那里拿个破画板扯淡,如果说讲落地经验也可以啊,却每天聊聊闲话,照着PPT就是一顿胡扯。一个是播音出身的,上课自己说自己的也不看学员问题,迟到10分钟,中间休息10分钟,再早退10分钟,上课开2个屏幕,讲core竟然命令行打了好几节课,然后再讲讲linq,哎,混过去了。 期间我跟机构商量过,希望机构可以改进,但是能创业开公司的人没有一个简单的人啊,机构的老板,也是校长。在我有评价课程权限的时候,一直哄我,骗我修改了评价,后面再提意见,直接禁言,并且禁止群员讨论。 开始跟机构撕逼时候是因为等讲完core了,很多人竟然发现自己根本不会用core

从【返回值陷阱】谈【PowerShell 脚本编写建议】

为君一笑 提交于 2020-08-09 17:56:11
前言 本文的所有测试都是在 PowerShell 5.1 中执行的,示例代码在其他版本中可能会有不一样的结果,请以实际情况为准。 想看干货可直接从正文开始阅读 ,这一章我想聊聊别的酝酿一下感情。 第一次说这个问题 PowerShell 中 function 返回值的陷阱 的时候我还在学校,转眼三年过去了,我工作了,PowerShell 也 发展到 7.0 了。它在学生时代给我带来了折腾的乐趣:为了从网站上下载学习资料(懂得都懂)写了一个 m3u8 视频链接的下载工具,结合 ffmpeg 最后可拼接成 mp4;在工作后也让我在需求方面前威风了一把:为了整理若干文件的文件名,我提供了一个可结合 excel 对若干文件批量重命名的工具。 所以我对 PowerShell 感情还挺深的,最近发现利用 WPF 开发一个简单的图形界面供一些脚本小工具使用是还是挺不错的,而且许多用户使用的 Win10 系统预装了 PowerShell 5.1,很多时候开发好的东西直接丢一个脚本给用户就可以了,不需要让用户进行任何额外的安装。 下面是我过去一段时间根据自己踩过的坑总结的建议,内容较长,难免有笔误,欢迎读者指正,感激不尽。 正文 三个建议 其实遵循以下三条建议可以避免除【返回值陷阱】以外的更多的陷阱: 忘记 IEnumerable、Linq、foreach,牢记 Foreach-Object

一个茴字有三种写法——吐槽C#9.0的Records

左心房为你撑大大i 提交于 2020-08-09 15:58:05
一个茴字有三种写法——吐槽C#9.0的Records 最近是微软开了Build 2020大会,由于疫情原因,改成了在线举行,Build大会上,C#公布9.0版本。 我个人对于C#的更新向来都是喜闻乐见,乐于接受的,对于博客园上某些人天天嘲讽C#只会增加语法糖的人,我向来对他们不屑一顾,认为他们是井底之蛙。 因此我仔细看了微软发的文章Welcome to C# 9.0,准备好好观摩和学习。但当我看到Records语法时,我就隐隐感觉C#这样玩语法糖要翻车了。 后来看到知乎上的问题如何评价即将发布的 C# 9.0?,我稍加思索,愈发觉得Records语法完全是大型翻车现场,因此整理出来我认为的Records的翻车点(兼吐槽)。 首先看官方给出的Records样例 public data class Person { public string FirstName { get; init; } public string LastName { get; init; } } 第一个吐槽点:data class声明有必要吗?如果要多加一个data关键字,直接用record不好吗,如果不加关键字,为什么不用readonly class啊。 public record Person {} public readonly class Person {} 第二个吐槽点,官方给出上面的等价定义

震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……

折月煮酒 提交于 2020-08-09 14:22:55
过场CG: 接到公司领导的文件指示,“小熊”需要在6月底去海外执行一个行动代号为【 定时任务 】的营救计划,这个计划关系到公司某个项目的生死(数据安全漏洞),作战部拟定两个作战方案:   方案一:使用务定时任务框架quartz;   方案二:使用windows Service服务。 最终的作战方案为:两者配套使用。 前言:项目开发完成后,对接的项目有很多个模块,由于其中的一个环节疏忽,现在需要在原有的基础上把缺失的数据自动写入数据库存储起来。 重新修改程序逻辑已然不现实,现在需要一个补丁来进行逻辑更正。 补丁逻辑:两个入口控制, 入口一:点击【更新】按钮同步逻辑后的数据; 入口二:每天晚上18:00进行执行同步逻辑后的数据; 现在我们先使用window服务进行入口二的编写(入口一只需要一个按钮调用入口二的逻辑即可) windows服务 一、开发环境 操作系统:Windows 7 X64/32 开发环境:VS2017 编程语言:C# .NET版本:.NET Framework 4.6.1 二、创建Windows Service 1、新建一个Windows Service,并将项目名称改为“MyWindowsService”,如下图所示: 2、在解决方案资源管理器内将Service1.cs改为MyWindowsService.cs后并在左边页面空白处点击鼠标右键,添加安装程序