![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
智商偏低
这个作者很懒,什么都没留下…
展开
-
C# 中优雅的动态序列化接口返回数据
通过使用`Json.NET`库中的`JObject`和`JToken`类,我们可以优雅地动态序列化接口返回的数据。当接口返回的数据结构不固定时,我们可以使用`JObject`或`JToken`来动态处理这些数据。本文将介绍如何使用C#中的`Json.NET`(也称为`Newtonsoft.Json`)库来优雅地动态序列化接口返回的数据,并提供示例代码。如果你的JSON数据包含更复杂的结构,如嵌套的数组或对象,你可以使用`JToken`来处理它们。3. 使用JToken处理更复杂的JSON结构。原创 2024-04-17 09:59:17 · 484 阅读 · 0 评论 -
关于npoi插入一条斜向上得线记录一下
但是呢,在使用XSSF得时候,使用同样方式得写法就不生效了,根据chatgpt给出的答案。我也不知道这个答案是否准确,但是我接纳他的建议,画一条斜向下得线,然后垂直翻转过来。在使用hssf可以直接按照行列插入。原创 2023-08-11 11:15:02 · 209 阅读 · 0 评论 -
在 C# 中使用 BinaryFormatter 类进行深拷贝对象
深拷贝意味着将一个对象的每个字段复制到另一个对象,而浅层复制意味着创建一个新的类实例并将其指向先前的类实例的值。,以便这种方法能够发挥作用。下面的代码例子向我们展示了如何用 C# 中的。将相同的内存流写入对象并返回它。我们需要首先将我们的类标记为。类以二进制格式读取和写入类对象到流中。将类对象写入 C# 中的内存流。在 C# 中创建类对象的深拷贝。类创建一个对象的深度拷贝。原创 2023-02-21 08:39:05 · 574 阅读 · 0 评论 -
C#InvokeRequired
此时它将会在内部调用new MethodInvoker(LoadGlobalImage)来完成下面的步骤,这个做法保证了控件的安全,你可以这样理解,有人想找你借钱,他可以直接在你的钱包中拿,这样太不安全,因此必须让别人先要告诉你,你再从自己的钱包把钱拿出来借给别人,这样就安全了。也可以认为,在new Control()的时候,control用一个变量记录下了当前线程,在调用InvokeRequired时,返回当前线程是否不等于new的时候记录下来的那个线程。这样就做到了窗体中控件的线程安全性。原创 2023-01-28 10:42:47 · 2334 阅读 · 0 评论 -
Win32开发第一个窗体程序
#include <windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAppName[] = TEXT("冯雷彪"); HWND hwnd; ..原创 2021-10-28 16:13:57 · 87 阅读 · 0 评论 -
子线程通知主线程做出更改
public class Program { //定义一个为委托 public delegate void Entrust(string str); public static Action<string> callback1 = null; static void Main(string[] args) { callback1 = ((string str) => { Con.原创 2021-03-29 19:01:13 · 118 阅读 · 0 评论 -
C# Attribute自定义特性
[AttributeUsage(AttributeTargets.All)] public sealed class NameAttribute : Attribute { private readonly string _name; public string Name { get { return _name; } } public NameAttribute(string n..原创 2021-03-28 09:05:52 · 144 阅读 · 1 评论 -
C#委托深入解析
c# 委托 delegate委托是一种存储函数引用的类型,在事件和事件的处理时有重要的用途通俗的说,委托是一个可以引用方法的类型,当创建一个委托,也就创建一个引用方法的变量,进而就可以调用那个方法,即委托可以调用它所指的方法。使用委托委托的使用需要以下步骤:定义委托delegate double ParocessDelegate(double param1,double param2);委托的定义非常类似于函数,但不带函数体,且要使用delegate关键字。委托定义需要指明委托名原创 2021-03-10 16:55:58 · 724 阅读 · 0 评论 -
.net core IOption得简单使用
简单理解就是获取配置文件得首先写好配置文件"Demo": { "Age": 18, "Name": "Fengleibiao" }然后创建好类 public class Demo { public int Age { get; set; } public string Name { get; set; } }其次在startup.cs文件中注入 public void ConfigureServices(.原创 2020-12-24 14:17:06 · 502 阅读 · 0 评论 -
C#Skip和Take的用法
List<int> list=new List<int>(){1,2,3,4,5,6,7,8,9};list.Skip(4) =56789list.Take(2)=12 Skip是跳过几个数字,Take是从第几个开始原创 2020-09-29 15:15:08 · 2798 阅读 · 0 评论 -
C#List根据时间排序并且去除重复值
public class DateDto{ public int Id { get; set; } public string BId { get; set; } public string Name { get; set; } public DateTime CreateTime { get; set; }}对这个类中的Cretetime进行排序,并且保留最新添加进来的值,首先要写一个自定义的类public class PeopleAgeComparer :.原创 2020-09-27 16:35:44 · 3087 阅读 · 0 评论 -
C#httpclient
后台数据接口: [HttpPost] public Response<List<Schedule>> LoadSchedule([FromForm]QueryScheduleOneListReq query) { var result = new Response<List<Schedule>>(); try { re.原创 2020-08-18 18:08:27 · 652 阅读 · 0 评论 -
C#HTTPClient
using ICSharpCode.SharpZipLib.GZip;using Newtonsoft.Json;using System;using System.Collections.Generic;using System.IO;using System.Net;using System.Net.Http;using System.Net.Http.Headers;using System.Threading.Tasks;/// <summary>/// 基于Ht.原创 2020-08-18 16:51:38 · 504 阅读 · 0 评论 -
C#使用log4net
首先下载log4net得类库第二步:添加log4net得config文件log4net.config<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="log4net" type="System.Config...原创 2020-01-02 09:17:01 · 202 阅读 · 0 评论 -
C#线程传递参数
pubilc void Main(string[] args){ Thread th=new Thread(new ParameterizedThreadStart(B)); th.Statrt("A");}private void B(object o){ Console.WriteLine(o);}原创 2020-01-02 09:13:12 · 111 阅读 · 0 评论 -
C#EF_core的添加删除修改
第一步:添加EF_CORE的引用using Microsoft.EntityFrameworkCore;第二步:创建数据库连接 /// <summary> /// 创建EF的上下文 /// </summary> public class HDbContent:DbContext { public HDbConte...原创 2019-11-25 14:34:13 · 626 阅读 · 0 评论 -
C#修改批量修改符合特定条件的LIST中对象属性
people.FindAll(c => c.Age == 12).ForEach(c=>c.Name="ff");原创 2019-11-22 10:23:16 · 4341 阅读 · 0 评论 -
C#子窗口与父窗口交互(使用委托和事件)
目标:在子窗口Form2上单击按钮时向Form1传递一组自定义参数,并显示在父窗口Form1上。方法:有很多方法,这里只介绍委托和事件的实现方式。思路:Form2中定义事件,Form1创建Form2并订阅事件;Form2触发事件后传递参数到Form1,Form1处理参数。 Form1代码如下:using System;using System.Collections.G...原创 2019-07-09 08:17:10 · 759 阅读 · 0 评论 -
去掉winformdatagridview中自动生成的列
this.dgvStudent.AutoGenerateColumns = false;原创 2019-07-18 10:40:36 · 2103 阅读 · 0 评论 -
Supersocket客户端服务端
服务端using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Text.RegularExpressions;using SuperSocket.Common;using SuperSo...原创 2019-08-27 09:10:02 · 619 阅读 · 0 评论 -
Cannot Create property 'LAY_TABLE_INDEX' on string 'GNC_video'---Layui数据表格数据加载异常
在使用Layui框架,通过方法渲染方式,完成数据请求与数据的自动加载使用时出现下面问题:其中,1处是请求返回的结果,经检查前台jsp代码没有问题,最后发现是数据格式的不匹配,layui框架的数据表要求返回的data数据应该是数组对象,而不能直接是对象,所以改变返回的数据格式即可 ...转载 2019-09-05 15:04:10 · 486 阅读 · 0 评论 -
Elaticserch的安装配置
最近在网上看Elaticserch的内容,大部分都是直接开始讲概念,概念看了一大堆,到最后连个开发环境都搭建不出来,其实搭建环境特别简单,但最初入门的时候,因为没有接触过,感觉到无从下手,下面我就个大家演示一下ubuntu上的环境搭建。第一步:安装java环境第二步:下载Elaticserch并解压wget https://artifacts.elastic.co/downloads/el...原创 2019-02-19 19:45:54 · 211 阅读 · 0 评论 -
static构造函数认识
class Class1{private static int count=0;static Class1{count++;}public Class2{count++;}}Class1 one=new Class1();Class2 two=new Class2();问程序执行完之后class1.count的值是多少。很显然,考察的是对static关键...转载 2018-10-23 13:48:42 · 426 阅读 · 0 评论 -
C# DataGridView在HeaderCell中显示行号的方法
使用C#开发WinForm程序时,DataGridView是我们经常用到的表格数据控件。使用此控件的时候经常有一个需求,就是需要在第一列中显示行号,方便知道现在操作到哪一行了。这个时候我们就有两种显示方式了:一种是直接显示在HeaderCell中。另一种是显示在数据列中。显示在数据列上的缺点显而易见。一般我们显示在DataGridView中的数据是有一个数据集的,必须在...转载 2019-06-18 12:32:54 · 1174 阅读 · 0 评论 -
Winform实现combox控件自动匹配查找功能
Winform实现combox控件自动匹配查找功能,设置两个属性就可以了,看如下代码(绑定数据源后)this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;...原创 2019-06-18 11:40:49 · 4400 阅读 · 0 评论 -
C#调用C++类库
C++代码#include<iostream>using namespace std;extern "C"{ _declspec(dllexport) int FunctionInDLL(const wchar_t* p){ wcout << L"这是c++的库:\n"; wcout << p << L"'" << ...原创 2019-06-25 23:07:54 · 714 阅读 · 0 评论 -
c# WebApi之接口返回类型详解
Webapi的接口返回值主要有四种类型void无返回值 IHttpActionResult HttpResponseMessage 自定义类型IHttpActionResult IHttpActionResult是WebApi最常用的一种返回值类型,常用的方式有:Json(T content)、Ok()、 Ok(T content)、NotFound()、Content(HttpS...原创 2018-12-02 10:39:42 · 1152 阅读 · 0 评论 -
C#DatatableToList
static void Main(string[] args){ List<Student> student=new List<Student>(); DataTable table=CreateTable(); foreach(DataRow row in table.Rows) { Type type=Typeof(Student)...原创 2018-11-29 09:21:50 · 583 阅读 · 0 评论 -
“/”应用程序中的服务器错误。 未能加载文件或程序集“System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf385
添加Microsoft.AspNet.WebApi这个安装包原创 2018-11-07 20:03:38 · 1838 阅读 · 0 评论 -
用C#写C#编译器,先有鸡还是先有蛋
前段时间翻译的一篇文章 微软是如何重写C#编译器并使它开源的,文章讲了微软用C#重写C#编译器的坎坷路,引发了一些童鞋的思考:用C#编写C#编译器(Roslyn),那么C#编译器本身是由谁来编译的?C#语言编写了C#编译器,而C#语言又是由C#编译器编译的,这不就是先有鸡还是先有蛋的问题吗?虽然(博客园)文章下方评论中提出这类问题的人不多(注:除了公众号,我的技术文章一般也会隔天会在博客园发布...转载 2018-10-30 21:34:19 · 274 阅读 · 0 评论 -
mvc+js+ef实现登录功能(一)小白版
mvc整理登录界面:使用三层架构第一步:搭建三层第二步:在model层中创建一个ef实体第三步:根据实体生成数据库第四步:在EFDAL层创建一个实体类第五步:分析登录的代码,主要是进行查询(1)实例化一个上下文类 DataModelContainer db = new DataModelContainer();(2) 查询 public IQ...原创 2018-10-30 20:24:41 · 2179 阅读 · 1 评论 -
关于C#静态构造函数的几点说明
静态构造函数是C#的一个新特性,其实很少用到。不过我们想要初始化一些静态变量的时候就需要用到了。静态构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.net自动调用。class SimpleClass{ static SimpleClass(){}}使用静态函数应该注意几点:1.静态构造函数没...转载 2018-10-23 13:37:51 · 173 阅读 · 0 评论 -
GUID
作用:产生独一无二的编号 Console.WriteLine(Guid.NewGuid().ToString());原创 2018-08-13 13:45:45 · 1748 阅读 · 1 评论 -
接口和抽象类和普通类的区别
多态的第三种实现方法。举个例子:创建一个人类,所具有的功能吃喝拉撒睡创建一个nba球星类,功能就是可以扣篮创建一个学生类,学生类可以继承人类,拥有吃喝拉撒睡的功能,但是这个学生还会打篮球,这样只需要让他在继承一下nba类不就行了,但是C#又具有单根性。现在就需要接口类。一个类继承了一个接口必须实现这个接口中的方法。什么时候使用接口:1.首先你的类需要多继承,因为类是不允...原创 2021-06-24 11:19:16 · 245 阅读 · 0 评论 -
C#中的密封类
sealed标记着一个类是密封类。密封类不能够被继承。但是密封类能够去继承别人。原创 2018-08-09 14:40:50 · 230 阅读 · 0 评论 -
C#中的部分类
在同一个命名空间下能不能写两个类名一样的类。正常情况下在同一个命名空间下不能定义两个名字一样的类,同样,在同一个类中也不能定义两个方法名一样的方法,重载除外。但是在有些特殊的情况下,又不得不这么做,这时候就有Persion类了。只需要在类前面加上一个关键字partial ...原创 2018-08-09 14:37:24 · 721 阅读 · 0 评论 -
死锁产生的原因和四个必要条件
产生死锁的主要原因是:(1)因为系统资源不足(2)进程推进的顺序不足(3)资源分配不当如果系统资源充足,进程的资源请求能够得到充足的满足,死锁的可能性就很低,否则就会因为争夺有限的资源而陷入死锁,其次,进程运行与推进的顺序速度不同,也可能产生死锁。产生死锁的四个必要条件:互斥条件:一个资源每次只能被一个进程使用请求与保持条件:一个进程因请求而资源阻塞时,对已获得的资源保持不...原创 2018-12-13 07:40:35 · 412 阅读 · 0 评论 -
第三方合作登录平台使用说明
第三方合作登录平台使用说明为方便更多的开发朋友,本人特将当前市面上所有支持第三方联合登录的接口集为一体,以前需要多次开发才能完成的登录现在只需要一次即可搞定。再也不需要因为等待审核而耽误进度项目进度了。使用方便,操作简单,以下为本插件的具体使用方法:申请使用1、首先登录网站 http://open.51094.com/ 。2、点击右上角《登录》按钮进行登录,登录成功后会自动跳转...原创 2018-12-10 12:49:08 · 666 阅读 · 1 评论 -
C#面试必问
private:私有成员,在类的内部才可以访问protected:保护成员,在类内部和继承类中可以访问public:公共成员,完全公开,没有任何访问限制internal:在同一命名空间内可以访问2.列举asp.net页面之间传值的几种方式?QueryString,Session,Server.Transfer3.C#中的委托是什么?事件是不是一种委托?委托可以把一个方法...原创 2019-02-16 18:38:30 · 250 阅读 · 0 评论 -
C#winform动态添加一行到datagridview的末尾
1.加到末尾dataGridView.Rows.Add(newobject[]{"",text1.text,""});//{}是对应列的值2.加到中间dataGridView.Rows.Insert(rowsIndex,newobject[]{"",text1.text,""});...原创 2019-06-10 11:18:50 · 2723 阅读 · 0 评论