C#

C# 实现dataGridView选中一行右键出现菜单的示例代码

在窗体中添加DataGridView控件和ConTextMenuStrip1控件,修改DataGridView属性,将contextMenuStrip控件绑定dataGridView控件 this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //选中整行可在属性中修改 datagridview.Aut... »

对C# 多态的理解

面向对象三要素:封装、继承、多态。 封装和继承,这两个比较好理解,但要理解多态的话,可就稍微有点难度了。今天,我们就来讲讲多态的理解。 我们应该经常会看到面试题目:请谈谈对多态的理解。 其实呢,多态非常简单,就一句话:调用同一种方法产生了不同的结果。 具体实现方式有三种。 一、重载 重载很简单。 public string GetValue(string x) { return x; } publ... »

C# 如何解析获取Url参数值

今天遇到一个需求,需要处理通过接口传过来的一个参数,参数内容为一个拼接好的Url地址,且该地址还会携带了一些额外的参数,包括但不限于数字,字符串,json串。样例如下: https://shequ.jb51.net/?url=www.jb51.net/?id=15&data={"id":12,"name":"今天天气不错"} 现在的问题就是,我需要将url参数中的dat... »

c#如何用好垃圾回收机制GC

一、为什么需要GC 应用程序对资源操作,通常简单分为以下几个步骤: 1、为对应的资源分配内存 2、初始化内存 3、使用资源 4、清理资源 5、释放内存 应用程序对资源(内存使用)管理的方式,常见的一般有如下几种: 1、手动管理:C,C++ 2、计数管理:COM 3、自动管理:.NET,Java,PHP,GO… 但是,手动管理和计数管理的复杂性很容易产生以下典型问题: 1.程序员忘记去释放内存 2.... »

C# DataTable常见用法汇总

C# DataTable 的常见用法: (1)新建数据表。 DataTable dt=new DataTable();如果带个String参数,此参数表示表名。 (2)向表添加列。 //数据库的Nvarchar等类型,在此可用String兼容。可不指明数据类型 DataColumn dc = new DataColumn("商品编号", typeof(system.string)); dt.Col... »

如何在Unity中检测死循环和卡死

当游戏在手机/模拟器上卡死,logcat没有日志输出,也没有卡死堆栈信息或者bugly也没有捕获到异常,你是否很焦急?本文介绍一下我们项目中检测Unity卡死的方法,也许适合你使用。 实现原理 在绝大多数情况下我们可以认为Unity是单线程的,基于这点我们在Unity的系统函数FixedUpdate中统计游戏运行期间的总帧数,如果Unity没有卡死,那么TotalFrame是会一直累加的,如果在某... »

全面分析c# LINQ

大家好,这是 [C#.NET 拾遗补漏] 系列的第 08 篇文章,今天讲 C# 强大的 LINQ 查询。LINQ 是我最喜欢的 C# 语言特性之一。 LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询。它为查询跨各种数据源和格式的数据提供了一致的模型,所以叫集成查询。由于这种查询并没有制造新的语言而只是在现有的语言基础上来实现,所以叫语言集成... »

c# 委托的常见用法

  此篇文章是我一个小白对委托的理解和总结,请高手多多评判指教。   委托就是一种后期绑定机制,说的直白点就是在调用的时候才去传递业务逻辑的一种算法。 委托的创建语法: public delegate int Comparison<in T>(T left, T right);//官方给出的定义泛型委托的demo   语法看似像声明一个变量或方法的签名,但实现上是在声明一个类型。编译器... »

区分C# 中的 Struct 和 Class

翻译自 Manju lata Yadav 2019年6月2日 的博文 《Difference Between Struct And Class In C#》,补充了一些内容和示例。 结构体(struct)是类(class)的轻量级版本。结构体是值类型,可用于创建行为类似于内置类型的对象。 比较 结构体和类共享许多特性,但与类相比有以下局限性。 结构体不能有默认构造函数(无参构造函数)或析构函数,构... »

如何使用C# 捕获进程输出

Intro 很多时候我们可能会需要执行一段命令获取一个输出,遇到的比较典型的就是之前我们需要用 FFMpeg 实现视频的编码压缩水印等一系列操作,当时使用的是 FFMpegCore 这个类库,这个类库的实现原理是启动另外一个进程,启动 ffmpeg 并传递相应的处理参数,并根据进程输出获取处理进度 为了方便使用,实现了两个帮助类来方便的获取进程的输出,分别是 ProcessExecutor 和 C... »

C# 使用multipart form-data方式post数据到服务器

使用multipart/form-data方式提交数据与普通的post方式有一定区别。multipart/form-data的请求头必须包含一个特殊的头信息:Content-Type,其值必须为multipart/form-data。另外还需要规定一个内容分割符用于分割请求体中的多个post的内容,如文件内容和文本内容,只有这样服务端才能正常解析数据。但是,multipart/form-data的... »

C# 读取ttf字体文件里的Unicode实现

因为爬虫要解析 &#x880cc这种字体编码的值,下载到一个ttf文件,用 百度字体编辑器 打开,可以看到每个字符对应的Unicode (数字下方 $23、$2A…这些), 我需要拿到这些映射关系,才能解析对应数字。所以我百度搜索C# 读取ttf文件的unicode但是没有找到答案。直到用google搜索“C# read ttf unicode”,找到了一个能解决我的问题的回答... »

C#中接口(Interface)的深入详解

定义 在 C# 语言中,类之间的继承关系仅支持单重继承,而接口是为了实现多重继承关系设计的。一个类能同时实现多个接口,还能在实现接口的同时再继承其他类,并且接口之间也可以继承。无论是表示类之间的继承还是类实现接口、接口之间的继承,都使用“:”来表示。 接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。接口定义了语法合... »

Unity实现移动物体到鼠标点击位置

当目标点和物体高度不一致时,比如站着的人 ,让他走向地面上某一位置,如果使用LookAt则可能会导致人歪着看向目标点,如下图所示,而通常我们想要的只是人面向物体的方向。 »

C#实现拼手气红包算法

本文实例为大家分享了C#实现拼手气红包算法的具体代码,供大家参考,具体内容如下 一、方案1:即开即中,考虑机会均等,减少金额差较大的几率 可以每次点击时候,随机产生 static double[] GetRandomMoney(double money, int n) { double[] array = new double[n]; RedPackage red = new RedPackage... »

浅析c# 线程同步

同步是一种只允许一个线程在特定时间访问某些资源的技术。没有其他线程可以中断,直到所分配的线程或当前访问线程访问数据完成其任务。 在多线程程序中,允许线程访问任何资源所需的执行时间。线程共享资源并异步执行。 访问共享资源(数据)是有时可能会暂停系统的关键任务。所以可以通过线程同步来处理它。 主要场景如:存款,取款等交易业务处理。 线程同步的优点 一致性维护 无线程干扰 C#锁定 使用 C# lock... »

Unity3D生成一段隧道网格的方法

本文实例为大家分享了Unity3D生成一段隧道网格的具体代码,供大家参考,具体内容如下 一、需求 最近有一个需求,生成段隧道的骨架网格。目前想到的方法就是,获取隧道网格,通过一个算法分离内框和外框的点: 然后通过外框和内框上的点画线,可以通过深度优先搜索得到内外两个环的序列, 从而实现骨架网格 二、生成隧道算法 隧道由段圆弧和一条直线组成,所以算法如下: 1、取圆心为0,0,0,和圆上半径的向量 ... »

C# 利用Selenium实现浏览器自动化操作的示例代码

C# 利用Selenium实现浏览器自动化操作的示例代码

概述 Selenium是一款免费的分布式的自动化测试工具,支持多种开发语言,无论是C、 java、ruby、python、或是C# ,你都可以通过selenium完成自动化测试。本文以一个简单的小例子,简述C# 利用Selenium进行浏览器的模拟操作,仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 要实现本例的功能,除了要掌握Html ,JavaScript,CSS等基础知识,还涉及以下... »

WPF实现背景灯光随鼠标闪动效果

本文实例为大家分享了WPF实现背景灯光随鼠标闪动的具体代码,供大家参考,具体内容如下 实现效果如下: 思路:将容器分割成组合三角形Path,鼠标移动时更新每个三角形的填充颜色。 步骤: 1、窗体xaml 只需放置一个Canvas。 <Canvas x:Name="container" Width="400" Height="400"></Canvas> 2、交互逻辑 ///... »

C# LINQ的基本使用方法示例

LINQ是什么? LINQ是Language Integrated Query(语言集成查询的缩写), 微软官方 对其的描述: 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 基本用法是什么? (我目前也只会最基本的用法。。) LINQ查询操作由三个不同的操作组成: 获取数据源 创建查询 执行查询 下面我将用我学习时用的一个小例子来演示。 有两个数据源:武林高手的... »

Unity快速生成常用文件夹的方法

本文实例为大家分享了Unity快速生成常用文件夹的具体代码,供大家参考,具体内容如下 前言 每次打开新工程创建文件夹都很麻烦,写了一个小工具 代码 using UnityEngine; using System.Collections; using System.IO; using UnityEditor; public class FolderGenerator { [MenuItem("Too... »

WPF实现半圆形导航菜单

本文实例为大家分享了WPF实现半圆形导航菜单的具体代码,供大家参考,具体内容如下 实现效果如下: 思路: 扇形自定义控件组合成半圆型菜单,再通过clip实现菜单的展开和折叠。 步骤: 1、扇形自定义控件CircularSectorControl 窗体布局xaml: <Grid x:Name="mainGrid" MouseEnter="MainGrid_MouseEnter" MouseLe... »

关于C#执行顺序带来的一些潜在问题

前言 编写程序的时候,人们的直观感觉通常认为,程序的执行顺序是按照语句的顺序进行的。然而,许多编程语言的规范是允许实际执行顺序与语句编写顺序不符的。实际上,编译器为了完成某种优化,常常会对一些操作进行适当的顺序调整,导致一些预料之外的现象。 实验现象 首先,通过一个例子来展示这个现象。在一个C# .NET Core 3.1命令行程序中,定义两个全局变量a和b,在线程1中,依次对b和a进行递增。这样... »

Unity摄像机移至某物体附近观察此物体

本文实例为大家分享了Unity摄像机移至某物体附近观察的具体代码,供大家参考,具体内容如下项目需求:要近距离观察上图的圆柱解决核心:把摄像机移动到,圆柱前方,离圆柱z坐标5个单位的地方。 »

WPF实现文字粒子闪烁动画效果

本文实例为大家分享了WPF实现文字粒子闪烁动画的具体代码,供大家参考,具体内容如下 实现效果如下: 思路:首先根据显示文本创建文本路径Geometry,然后在路径内随机生成圆形粒子并添加动画。 步骤: 1、粒子类Particle.cs public class Particle { /// <summary> /// 形状 /// </summary> public Ell... »

Page 1 of 249123»