csharp通过对象和模板字符串解析模板
通过模板字符串和一个匿名对象来解析字符串,这种需求比较常见,对于比较简单的模板字符串,我们可以直接替换,但对于比较复杂的模板,我们可以通过模板工具来实现。 Scriban简介Scriban是一个适用于.Net的一款轻量级的脚本引擎。 通过包管理进行安装: 官方案例: 12var template = Template.Parse("Hello {{name}}!");var result = template.Render(new { Name = "World" }); // => "Hello World!" 对于这种简单的模板可以直接使用,但针对嵌套的会出现问题,如: 1234567var obj = new{ Today = new { time = DateTime.Now, luckyNumber = 3.1415926525 },}; var temp = Template.Parse(&q...
csharp实现两个对象的合并
在一些情况下,我们并不清楚匿名对象具备哪些属性,当需要合并两个匿名对象时,手动实现比较复杂,可以直接使用TypeMerger来实现merge TypeMerger简单使用TypeMerger是 .NET Core中的对象合并方法,支持多种合并处理方式,这里只简单的使用一下。 使用包管理进行安装: 示例代码: 123456789101112131415161718var config1 = new { name = "Tom", age = 18};var config2 = new { age = 20, desc = "A student in high school", experience = new { first = "Grade 6 of primary school won the third prize in football", second = "I was the first in m...
c# sqlserver大量插入数据解决方案
最近做了一个.NET Framework 程序,将从远程接口请求的数据同步到sqlserver数据库中;当数据量小的时候,常规的添加操作是没什么问题的。但数据量比较大时(通常1000行及以上),会花费比较多的时间。这时SqlBulkCopy就能显著的解决这个问题。 1、SqlBulkCopy介绍SqlBulkCopy是.NET中的一个包,用于将大批量数据添加到sqlserver数据库中,相比逐行插入它的速度更快,并且支持分批处理,失败事务回滚、设置延迟等。 2、SqlBulkCopy使用这里封装了一个公共方法,用于将指定的数据插入到表中。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758/// <summary>/// 使用SqlBulkCopy批量添加数据/// </summary>/// <param name="connStr">数据库连接字符串<...
dotnet “GenerateDepsFile”任务意外失败解决方案
近期在运行.net项目时,遇到了“GenerateDepsFile”任务意外失败的问题,错误详情如下: 123456789101112131415161718严重性 代码 说明 项目 文件 行 禁止显示状态错误 MSB4018 “GenerateDepsFile”任务意外失败。System.IO.FileNotFoundException: 未能加载文件或程序集“System.Text.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”或它的某一个依赖项。系统找不到指定的文件。文件名:“System.Text.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51” 在 Microsoft.Extensions.DependencyModel.DependencyContextWriter.Write(DependencyContext context, Stream stream) 在 Mi...
github克隆特定分支到本地
12git clone --single-branch --branch [分支名称] github远程仓库地址PS: git clone --single-branch --branch cds git@github.com:xxx/person.git
C# Newtonsoft自定义JsonConverter
在C#中,我们使用Newtonsoft来对JSON对象或字段串进行序列化和反序列化的操作,但在某些场景下,需要在映射过程中需要对属性进行更改。 1、JsonPropertyJsonProperty用于指定特定字段的名称,将一个字段指定为另一个字段,示例如下: 12345678910public class UserInfo{ [JsonProperty("用户名")] public string Name { get; set; } [JsonProperty("年龄")] public string Age { get; set; }}var tom = new UserInfo{Name = 'Tom', Age = 20};var jsonstr = JsonConvert.SerializeObject(tom);var json = JsonConvert.DeserializeObject<Use...
argon主题调整日记
前言 argon主题是一款由solstice23开发的一款简洁美观的WordPress主题,在使用过程中也发现了几个可以优化的点,在查阅主题文档无果后对其进行以下几点修改。 1、使用子主题为了避免修改源文件而引起主题更新后修改丢失的问题,还是尽量使用子主题来进行修改。 在主题文件夹目录下,创建一个文件夹,这里是rushi,打开rushi,创建一个style.css,输入: 123456789/*Theme Name: rushiDescription: child theme for the argon themeAuthor: likepoemsAuthor URI: https://likepoems.comTemplate: argonVersion: 1.0.0*/ Template一定是当前目录下的文件夹的名称。如图: 我这里名称是argon,所以rushi的模板主题就是argon。 如果需要添加自定义方法,就在子主题文件夹下新建functions.php, 里面添加自己的方法即可,如果要覆盖模版主题的...
React hooks子组件暴露方法示例
说明通常情况下,React 子组件使用父组件的方法或值通过props传递,反过来,父组件如果需要子组件的方法就需要子组件将自己的方法暴露出去。以下是一个实例: User.tsx 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768import React, { FC, useEffect, useState, useRef } from 'react';import { Button, Table } from 'antd';import UserEdit, { UserEditRef } from './UserEdit';import { EditFilled } from '@ant-design/icons';int...
JavaScript实现右键菜单
1、代码实现123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182window.onload = function () { (function () ...
React将数据转化成树形结构
1、React将数据转化成树形结构123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263// 初始数据let result = [ { parentId: null, id: 1, name: "书籍", count: 100 }, { parentId: 1, id: 2, name: "西游记", count: 50 }, { parentId: 1, id: 3, name: "红楼梦", count: 10 }, { parentId: 1, id: 4, name: "水浒传", count: 20 }, { parentId: 1, id: 5, name: "三国演义", count: 20 ...





