C#

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

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

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

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

详细介绍C# 泛型

    在C#开发中,必不可少的要用到泛型。泛型是.NET2.0版本就有的,它广泛应用于C#框架中容器的使用中。下面我们来详细介绍一下。   一、泛型的主要优势     1.性能更高。     2.类型更安全。     3.代码更多的重用和扩展性。   二、泛型的基本使用     泛型的一个主要优点是性能,我们来看下面的例子: static void Main(string[] args) { /... »

详解C#压缩、解压文件夹/文件(带密码)

前言 今天梳理一下项目中用到的压缩、解压文件夹或文件的方法,发现因为需求不同,已经用了好几个不同组件。今天就好好整理记录下,别下次遇到需求又重头开始了。 DotNetZip DotNetZip是一个开源的免费类库,主要提供了快速操作zip文件的工具集,VB、C#任何.Net语言都可以通过它创建、解压缩zip文件。我使用该类库最主要的目的还是因为它可以创建带密码保护的压缩文件。 只有设置了zip.P... »

WPF实现3D立方体波浪墙效果

本文实例为大家分享了WPF实现3D立方体波浪墙效果的具体代码,供大家参考,具体内容如下实现效果如下:思路:仿照3D粒子系统,将粒子颗粒的Geometry改造为立方体,鼠标移动时将鼠标位置转为3D场景中的坐标。 »

谈谈c#中的索引器

概念 索引器(Indexer) 允许类中的对象可以像数组那样方便、直观的被引用。当为类定义一个索引器时,该类的行为就会像一个 虚拟数组(virtual array) 一样。 索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。 可以使用数组访问运算符([ ])来访问该类的实例。 索引器的行为的声明在某种程度上类似于属性(property)。属性可使用 get 和 set 访问器来定... »

c# 自定义值类型一定不要忘了重写Equals,否则性能和空间双双堪忧

一:背景 1. 讲故事 曾今在项目中发现有同事自定义结构体的时候,居然没有重写Equals方法,比如下面这段代码: static void Main(string[] args) { var list = Enumerable.Range(0, 1000).Select(m => new Point(m, m)).ToList(); var item = list.FirstOrDefaul... »

WPF实现3D粒子波浪效果

本文实例为大家分享了WPF实现3D粒子波浪效果的具体代码,供大家参考,具体内容如下实现效果如下:步骤:1、3D粒子类Particle.cspublic class Particle { public Point3D Position;//位置 public double Size;//尺寸 public int XIndex;//X位置标识 publ »

C# 9 中新加入的关键词 init,record,with

一:背景 1. 讲故事 .NET5 终于在 2020-08-25 也就是大前天发布了第八个预览版,这么多的预览版搞得我都麻木了,接踵而来的就是更多的新特性加入到了 C# 9 中,既然还想呆在这条船上,得继续硬着头皮学习哈,这一篇跟大家聊聊新增的几个关键词。 二:新增关键词 1. init 出来一个新语法糖,首先要做的就是去揭它的老底,这样可以方便推测它的应用场景,为了方便表述,我先上一个例子: p... »

WPF实现平面三角形3D运动效果

本文实例为大家分享了WPF实现平面三角形3D运动效果的具体代码,供大家参考,具体内容如下实现效果如下:思路:封装三角形三个顶点和路径的三角形类,图形渲染时同步更新公共顶点三角形的顶点位置。 »

C#定时每天00点00分00秒自动重启软件

本文实例为大家分享了C#定时每天自动重启软件的具体代码,供大家参考,具体内容如下 1、添加Timer控件,这个控件可以显示倒计时功能 2、Timer控件的Tick事件代码: private void timerDownCount_Tick(object sender, EventArgs e) { string dateDiff = null; //获取当前时间 DateTime DateTime... »

WPF实现3D翻牌式倒计时特效

WPF实现3D翻牌式倒计时特效

本文实例为大家分享了WPF实现3D翻牌式倒计时的具体代码,供大家参考,具体内容如下 实现效果如下: 思路:使用自定义控件,设置一个背板 MyCardControlBottom,一个卡牌翻动的前部 MyCardControlFront,一个卡牌翻动后的背部 MyCardControlBack,另外实现卡牌翻动的MyCardControl;在主窗体中设置一计时器,根据卡牌上的数字和计时器时间启动翻牌动... »

浅析C# 结构体struct

结构体 有时候我们仅需要一个小的数据结构,类提供的功能多于我们需要的功能;考虑到性能原因,最好使用结构体。 结构体是值类型,存储在栈中或存储为内联(如果结构体是存储在堆中的另一个对象的一部分)。 例如类class: public class Dimensions { public Dimensions(double length, double width) { Length = length; ... »

WPF实现手风琴式轮播图切换效果

本文实例为大家分享了WPF实现轮播图切换效果的具体代码,供大家参考,具体内容如下 实现效果如下: 步骤: 1、自定义控件MyImageControl 实现图片的裁切和动画的赋值。 public partial class MyImageControl : UserControl { public static readonly DependencyProperty ShowImagePropert... »

c#预处理指令分析

预处理指令 这些指令/命令不会转换为可执行代码,但会影响编译过程的各个方面;列如,可以让编译器不编译某一部分代码等。 C#中主要的预处理指令 #define和#undef #define指令定义: #define DEBUG 它告诉编译器存在DEBUG这个符号;这个符号不是实际代码的一部分,而只是在编译器编译代码时候可能会根据这个符号做条件编译。 #undef定义: #undef DEBUG 用来... »

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... »

Page 1 of 249123»