你是否还在为匹配数据和过滤数据而忧虑
一、前言在开发中,你是否还在为匹配机制随时修改、过滤条件经常变动而忧虑。如果有那么请你看下去。 二、插件推荐System.Linq.Dynamic.Ce 从命名上看,就知道它是一款动态查询的核心库。 它的主要作用有那些?能帮助开发人员解决哪些痛点? 接下来给大家逐步介绍。 三、使用System.Linq.Dynamic.Ce 我们常使用的功能有以下2点1、动态的匹配机制。创建模型 summary 学生模型 summary public class StudentModel { summary 姓
Gradio.NET 支持 .NET 8 简化 Web 应用开发
前言 Gradio. 是 Gradio 在 . 平台上的移植版本。Gradio 是一个开源的 Python 包,用于快速构建机器学习模型、API 或任意 Python 函数的演示或 Web 应用程序。 Gradio. 继承了 Gradio 的核心理念,以. 开发习惯和熟悉的方式进行Web应用开发,其主要特点包括:易用性:只需几行 . 代码即可创建功能完善的用户界面。灵活性:支持多种类型的输入和输出,包括文本、图像、音频等。一键分享:轻松生成访问链接,方便进行测试和使用。集成支持:能够无缝集成到主流的 .
.NET周刊【8月第3期 2024-08-18】
国内文章 Roslyn 简单实现代码智能提示补全功能 https:www.cnblogs.comlindexip18365261 相信有很多伙伴热衷于编写 IDE 应用,在 dot 系下,通过 Roslyn 友好的 API 和强大的能力,实现一个代码智能提示是非常简单的事情。本文将和大家简单介绍一下如何使用 Roslyn 实现简单的代码智能提示补全功能 七天. 8操作SQLite入门到实战详细教程(选型、开发、发布、部署) https:www.cnblogs.comCandaydayupp18354637
聊一聊 C# 中让人惶恐的 Bitmap
一:背景 1. 讲故事 在.高级调试的旅程中,我常常会与 Bitmap 短兵相接,它最大的一个危害就是会让程序抛出匪夷所思的 OutOfMemyException,也常常会让一些.开发者们陷入其中不能自拔,痛不欲生,基于此,这一篇我从dump分析的角度给大家深挖一下 Bitmap 背后的故事。 二:Bitmap 背后的故事 1. Bitmap 能吃多少内存 相信有很多朋友都知道 bitmap 吃的是非托管内存,但相信也有很多朋友不知道这玩意竟然能吃掉bitmap自身大小的几十倍,甚至上百倍。可能这么说有点
Caliburn.Micro学习之Action Conventions
最近在学习Caliburn.Micro这个框架,应用于WPF项目。相较于prism,caliburn.micro对于事件的绑定就完全不一样,它有好几种模式,借鉴于caliburn.micro的官方simple可以研究说明一下 链接:https:github.comCaliburnMicroCaliburn.Micro 文档:Caliburn.Miro\Caliburn.Micromaster\samples\features,在ActionsView.xaml中用Button的Click事件依次举例。 1
.NET 音频采集
本文介绍Windows下声音数据的采集,用于本地录音、视讯会议、投屏等场景 声音录制有麦克风、扬声器以及混合录制三类方式,麦克风和扬声器单独录制的场景更多点,混合录制更多的是用于本地录音 我们基于NAudio实现,开源组件NAudio已经很稳定的实现了各类播放、录制、转码等功能,WaveInWaveInEventWasapiCaptureWasapiLoopbackCapture WaveOut WaveStream WaveFileWriter WaveFileReader AudioFileReade
dotnet C# 从控制台开始 关联 Win2D 和 WinUI 3 应用
本文将告诉大家如何从最简单的控制台开始搭建,让 Win2D 和 WinUI 3 关联起来,让 Win2D 可以将内容渲染到 WinUI 3 应用上本文适合想了解 WinUI 3 基础机制以及 Win2D 与 WinUI 3 协同的方式的伙伴。阅读本文将可以了解到一个简单的方式,简单到使用控制台项目即可进行搭建整个简单应用 在 上一篇博客 里,告诉大家可以如何简单从控制台搭建起一个 WinUI 3 应用。本文将在此基础上告诉大家如何关联上 Win2D 进行基础界面绘制 大概制作出来的应用的界面如下图上图里面
关于Protobuf在使用中的一些注意点
Protobuf是谷歌旗下的一款二进制序列化协议 协议的编写 在项目中新建一个xxx.proto文件 文件的格式 第一行写protobuf的版本 syntax = "proto3" 第二行写 包的名字 在C#中就说命名空间的名字,避免重复 例如 package Test 接下来写协议内容 例如以下示例 关于protobuf的具体语法大家 自行百度 message LoginExample message 在后面编译的时候会自动的生成一个类 { int32 loginid =1 stri
C# 面向对象的7大原则之开闭原则(Open-Closed Principle,OCP)
定义 开闭原则(OCP):软件实体应对扩展开放,对修改关闭。 通俗来讲就是,当需要进行扩展时,在不更改现有代码的前提之下,进行扩展。 举例 假设有一个动物发出声音的类为Animal,最初只有Dog(狗)和Cat(猫),后续需要新增Cow(牛);按照开闭原则,不应修改Animal类、Dog类或Cat类,而是创建新的Cow类,并在适当的地方进行扩展 Animal类1 abstract class Animal 2 { 3 public abstract void MakeSound() 4 }Dog类
WPF 模仿前端大佬写一个Hover效果
先看一下效果吧: 原博主的地址:【动画进阶】神奇的卡片 Hover 效果与 Blur 的特性探究 ChokCoco 博客园 (cnblogs.com) 原效果是一个css效果我们采用WPF的方式模仿一下 因为技术有限,没有原博主的那么好看,毕竟盗版永远比不过原版... 然后这里看一下盗版的怎么写吧 先是拿到原版的图片(原博客里面有图片地址),当然也可以自己挑一张自己喜欢的图片把图片保存到自己的WPF项目下面 再把图片运用到代码里面去,给一个bder的背景设置成图片,再给bder设置一个圆角,就会得到
vs2022不安装docker desktop可以打包镜像吗
vs2022开发的项目可以直接打包镜像到 linux主机。 idea 可以使用docker插件直接打包镜像到linux,我想vs2022也可以,于是开始摸索 官网只说支持docker desktop 本机打包,但是安装docker desktop 再加上安装虚拟机特性占用空间太大 ,能不能借助远程linux主机打包呢,答案是肯定的。 第一、下载dockerce的win版本,由于docker官网被墙,可通过各大学镜像站下载 比如在这里下载http:mirrs.zju.edu.cndockercewinsta
.net使用Freesql连接瀚高数据库
默认情况下Freesql可以使用PostgreSQL的连接方式连接,如果是md5加密的var isdatabase = MyRedis.GetStringKey("DataBaseType")var sqlConnStr = "Server=192.168.1.111Pt=5866User Id=rootPasswd=123456Database=databasenamesearchpath=moshi"FreeSql.DataType FreeType = 0因为我们之前支持sql和mysql现在新增
.NET 8 + Vue 3 极简 RBAC权限管理系统
前言 在日常工作中,几乎每家公司都需要一个后台管理系统来处理各种任务。为了帮助大家快速搭建这样一个系统,给大家介绍一个基于最新技术 . 8 和前端框架 Vue 3 实现的极简 RBAC(基于角色的访问控制)权限管理系统。 该系统后端采用经过精心精简的 ABP框架,前端则使用了 vuepureadmin 模板和强大的 vxetable表格框架,为二次开发提供最简洁、最高效的解决方案。 这个系统不仅易于理解和使用,而且它的模块化设计能够快速地进行定制和扩展,满足不同业务场景的需求。 系统适合有快速搭建后台管理
WPF 设备输入事件封装
本文主要介绍WPF应用对鼠标输入、触摸屏触笔以及触摸事件的封装 之前有简单说明设备输入类型 WPF 屏幕点击的设备类型 唐宋元明清2188 博客园 (cnblogs.com) 1、鼠标 通过Mouse相关的事件参数MouseButtonEventArgs中的数据,e.StylusDecice==null表示没有触摸设备,所以设备为鼠标 2、触笔 触摸 根据StylusDown事件参数StylusDownEventArgs,e.StylusDevice.TabletDevice.Type ==
dotnet X11 栈空间被回收导致调用 XPutShmImage 闪退
本文记录在使用 X11 过程中的问题,由于不正确使用导致栈空间被回收,从而在调用 XPutShmImage 时让应用闪退,此问题本质上讲只和 X11 的设计有一分钱关系,更多的问题在于我的写法上在 上一篇博客 里,介绍了使用 MITSHM 共享内存推送图片,详细请看:dot X11 简单使用 MITSHM 共享内存推送图片在上一篇博客里面是在顶层函数里面完成所有逻辑的,当我准备作为产品级发布时,我优化了一些代码,接着我运行程序就收到了以下错误信息 X Err of failed request: Bad
IoTSharp:基于 .NET 8.0 的开源物联网平台
前言 想要快速了解物联网的世界吗?如果你对物联网(IoT)感兴趣,或者正打算开发自己的物联网项目。可以试试 IoTSharp,一个基于 . 的开源平台。 无论你是初学者还是有经验的大佬,IoTSharp 提供了丰富的功能和广泛的协议支持。让物联网项目开发变得简单又直观。它不仅功能全面,而且操作灵活,让你可以快速上手,轻松实现你的物联网梦想,快来试一试 IoTSharp。 项目介绍 为什么会有 IoTSharp? 想一下,你想要创建一个智能家居系统,比如让家里的灯可以通过手机控制开关,或者让空调可以根据你的
第5篇 如何制作并上传自己的项目模版并生成nuget程序包
轻松快捷创建自己的nuget包,具体步骤如下 1. 创建content文件夹,存放模版源码(bin和obj都不要,只留源码),在content下再创建:.template.configtemplate.josn,template.josn 文件格式如下 {"$schema": "http:json.schemaste.gtemplate""auth": "Chenshibao""classifications": [ "WebWebApi" ]"name": "ChenShiBao.AspCe7.0 Do
WPF:MVVM的由来与属性绑定的过程
WPF:MVVM的由来与属性绑定的过程 1、MVVM (1)MVVM是什么 MVVM(ModelViewViewModel)是一种软件架构设计模式MVVM模式。有助于分离应用程序的业务逻辑和用户界面层,使得开发过程更易于管理,同时也便于单元测试。Model 现实世界中对象的抽象结果。 View? View=UI。 View Model ViewModel=Model f View。 View 与 View Model之间的沟通:传递数据:数据属性 传递操作:命令属性。 (2)为什么要使用MV
使用Kiota工具生成WebApi的代理类,以及接口调用的简单体验
前言 当前.环境下生成WebApi代理类的工具已经有很多选择了比如OpenApi GeneratNSwag和Refitter等不同的工具生成的代码风格以及实现方式略有不同比如Refitter生成的客户端是Refit风格. 本人比较喜欢Refit风格的标注风格因此还是比较喜欢使用Refitter的TA生成的代码风格如下: [Headers("Accept: applicationjson")] [Get("pet{petId}")] TaskPet GetPetById(long petId)不过呢今天介绍
GC终结标记 SuspendEE 是怎么回事
一:背景 1. 讲故事 写这篇是起源于训练营里有位朋友提到了一个问题,在 !t special 输出中有一个 SuspendEE 字样,这个字样在 ceclr 中怎么弄的?输出如下:0:000 !t special ThreadCount: 3 UnstartedThread: 0 BackgroundThread: 2 PendingThread: 0 DeadThread: 0 Hosted Runtime: noLock DBG ID OSID Thr
《黑神话:悟空》神话再现,虚幻引擎与Unity/C#谁更强?
前言 在国产游戏领域,《黑神话:悟空》无疑是一颗耀眼的明星,以独特的艺术风格、深厚的文化底蕴以及卓越的技术表现,赢得了国内外玩家的广泛关注。然而,在这款游戏光鲜亮丽的背后,是我们开发者对技术选择的深思熟虑与探索。 今天我们就来揭秘《黑神话:悟空》幕后的技术对决—虚幻引擎与UnityC#,究竟谁更强?(图片来源于网络) 匠心打造:东方神话传奇 在万众瞩目的20号上午10点,备受期待的国产3A大作《黑神话:悟空》终于震撼登陆,并迅速在发售后的不到一小时内登顶Steam最热门游戏排行榜,展现了其非凡的魅力和玩家
dotnet X11 简单使用 MIT-SHM 共享内存推送图片
这是我在尝试优化 Avalonia 在 Linux 上的低端设备的渲染性能时所研究的方式,本文将告诉大家如何简单使用 XShmPutImage 等 X11 的 XShm Extension 扩展方法,通过共享内存的方式推送图片众所周知,在 X11 里面有经典的 ClientServer 模型。客户端程序是属于 Client 角色,需要将渲染界面作为图片推送到 Server 端进行在屏幕上呈现。推送的方法可以是 XPutImage 方式,也可以是本文介绍的 X11 的 XShm Extension 的 XS
WPF:静态、动态资源以及资源词典
WPF:静态、动态资源以及资源词典 静态资源与动态资源 我们常常会使用样式或者控件模板放在Window.Resources中,比如这样:静态资源与动态资源使用如下: Window.ResourcesSolidColBrush x:Key="SolidCol" Col="#FF0000" Window.Resources GridStackPanelButton Height="40" Margin="10" Content="Button1" Click="Button_Click" Button He
金融、支付行业的开发者不得不知道的float、double计算误差问题
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险呢? 《阿里巴巴 Java 开发手册》中提到:“浮点数之间的等值判断,基本数据类型不能用 == 来比较,包装数据类型不能用 equals 来判断”。“为了避免精度丢失,可以使用 BigDecimal 来进行浮点数的运算”。 浮点数的运算竟然还会有精度丢失的风险吗?确实会! 示例代码: float a = 2.0f 1.9f float b = 1.8f 1.7f System.out.println(a) 0.100000024
.NET 9 优化,抢先体验 C# 13 新特性
前言 微软即将在 2024年11月12日发布 . 9 的最终版本,而08月09日发布的. 9 Preview 7 是最终发布前的最后一个预览版。这个版本将与. Conf 2024一同亮相,并已与 Visual Studio 2022 17.12 预览版1一同发布,可以直接通过Visual Studio安装。同时Visual Studio Code 和 C# Dev Kit 扩展也支持. 9。 C# 13 作为 . 9 的一部分,将带来一系列新特性,提升开发灵活性和性能,让编程体验更加流畅。尽管C# 13
.NET8 Blazor 从入门到精通:(三)类库和表单
目录Raz 类库创建使用使可路由组件可从 RCL 获取静态资源表单EditFm标准输入组件验证HTML 表单 Raz 类库 这里只对 RCL 创建和使用的做一些简单的概述,详细内容参考官方文档 使用 Raz 类库 (RCL) 中的 ASP. Ce Raz 组件。 创建 创建 Raz 类库跟创建普通类库步骤一样,关键步骤如下:从 ASP. Ce 项目模板列表中选择“Raz 类库” 在“其他信息”对话框中,请勿选择“支持页面和视图”使用 在项目中使用 RCL 中组件的方法跟使用普通类库的方法一样:使用包含 R
基于surging的产品项目-木舟开源了!
一 、 概述 因为前段时间电脑坏了,导致代码遗失,踌躇满志马上上线的平台产品付之东流,现在熬夜在写代码希望能尽快推出企业正常使用的平台产品,而这次把代码开源,一是让大家对surging 使用有个深入的了解,二也是开源社区起到监督推动作用,底层的代码基本上已经完成,比如脚本解析,规则引擎,协议组件的热插拔,还有一些IOT相关的协议比如:RTMPRTSPgb28181,httpflvMQTTTcpudp 都已经完成,现在把木舟(KayakIot)部分代码开源, KayakIot开源地址:
.Net 中各种线程同步锁
编程编的久了,总会遇到多线程的情况,有些时候我们要几个线程合作完成某些功能,这时候可以定义一个全局对象,各个线程根据这个对象的状态来协同工作,这就是基本的线程同步。 支持多线程编程的语言一般都内置了一些类型和方法用于创建上述所说的全局对象也就是锁对象,它们的作用类似,使用场景有所不同。.中这玩意儿有很多,若不是经常使用,我想没人能完全记住它们各自的用法和相互的区别。为了便于查阅,现将它们记录在此。 ps:本文虽然关注 . 平台,但涉及到的大部分锁概念都是平台无关的,在很多其它语言(如_Java__)中都能
VS常用拓展以及快捷键
VS常用拓展以及快捷键 扩展1: Next Occurrence 该拓展可以当前目标、下一个目标、上一个目标,类似于Alt+鼠标拖动,但是可以在没对齐的情况下使用安装设置4个常用的快捷键工具选项键盘c# 2005选择下一个 快捷键:Ctrl+D选择上一个 快捷键:Ctrl+E撤销 快捷键:Ctrl+U跳过 快捷键:Ctrl+P实验 注意:可以在没有对齐情况下选择下一个,可以搭配Alt+shift+"+"""使用 扩展2:XAML Styler f Visual Studio 2022 用来格式
Roslyn 简单实现代码智能提示补全功能
相信有很多伙伴热衷于编写 IDE 应用,在 dot 系下,通过 Roslyn 友好的 API 和强大的能力,实现一个代码智能提示是非常简单的事情。本文将和大家简单介绍一下如何使用 Roslyn 实现简单的代码智能提示补全功能现在的 dot C# 核心构建工具链是非常完善的且开放的,基于 dot 完善的构建核心能力,咱可以非常方便的在此基础之上构建咱的编译器相关的应用 由于如何制作一个 IDE 应用是一个庞大的话题,本文仅仅只是和大家介绍如何使用 Roslyn 实现简单的代码智能提示补全功能。本文实现的示例