C#
文章平均质量分 60
C#技巧
Thinbug
精雕细琢,匠心之道.
展开
-
WPF的ListView绑定CheckBox数据并显示序号
我们想在ListView中添加CheckBox数据,并且需要添加序号。原创 2023-12-22 14:21:55 · 978 阅读 · 0 评论 -
WPF下实现拖动任意地方都可以拖动窗口
【代码】WPF下实现拖动任意地方都可以拖动窗口。原创 2023-11-15 11:03:03 · 771 阅读 · 0 评论 -
WPF小知识
在编写WPF程序遇到一些小问题,所以记录起来,查其他方便。原创 2023-11-15 10:43:37 · 345 阅读 · 0 评论 -
WPF程序给按钮增加不同状态的图片
然后在Triggers里添加代码,当Property:IsMouseOver为True的时候更换成Over;当Property:IsPressed为True的时候更换成Down;首先我们在资源里添加几个图片,Up,Over和Down状态。然后我们创建一个Style。默认我们的背景设置成Up。原创 2023-11-15 10:39:40 · 1174 阅读 · 0 评论 -
C# 通过Costura.Fody把DLL合并到exe程序中
打包独立的exe程序有多种方法,这里只说Fody。我们用VS发布应用程序可以借助Fody直接打包成一个独立的exe程序,但是一些非托管的做了几次都没打进去,最后成功了,这里记录一下。原创 2023-11-01 14:39:47 · 2149 阅读 · 0 评论 -
C# 中大小端Endian
大小端可以找下资料很多,都是文字的。我每次遇到大小端问题就会搜资料,总是记不住。我自己用用图片记录一下,以备直观的从内存中看到。在C#中可以用BitConverter.IsLittleEndian来查询。原创 2023-10-12 19:45:46 · 468 阅读 · 0 评论 -
C#小知识
对于单个文件,可以点击属性。输出目录里选择始终复制。原创 2023-09-13 18:54:50 · 280 阅读 · 0 评论 -
C#控制台程序中使用log4.net来输出日志
Apache log4net 库是一个帮助程序员将日志语句输出到各种输出目标的工具。log4net 是优秀的 Apache log4j™ 框架到 Microsoft® .NET 运行时的端口。我喜欢他可以自定义输出,区分等级等特点。原创 2023-09-13 17:13:37 · 1427 阅读 · 0 评论 -
C#下使用IronPython来实现热更新
IronPython 是Python 编程语言的开源实现,与 .NET 紧密集成。IronPython 可以使用 .NET 和 Python 库,其他 .NET 语言也可以轻松使用 Python 代码。官网地址。原创 2023-09-12 17:26:34 · 628 阅读 · 0 评论 -
C#写一个UDP程序判断延迟并运行在Centos上
注意下端口号,可以使用下面的命令查看是否被占用如果没输出代表没有被使用,注意防火墙开启udp的端口。原创 2023-09-07 18:12:17 · 777 阅读 · 0 评论 -
Roslyn(三)运行脚本并引用DLL在不同上下文(AssemblyLoadContext - ALC)中的访问问题
无法找到code0,因为我们的两个执行文件在不同的ALC,这里他只会先找同一个ALC,如果没有会在ALC.Default中查找。这里就简单的运行了,这里注意几个点,我们的dll和mycs在同一个ALC中,如果要卸载会导致需要两个都要卸载。我们只需要增加下面的代码,让他返回正确的Assembly就可以了。我们成功的动态编译了DLL文件,那么我们今天来继续研究在Roslyn中使用。本文研究的是如何从开始简单的调用DLL,到最后在不同的ALC中加载运行。这里我们创建了一个新的名为mycs的ALC。原创 2023-08-11 14:31:03 · 377 阅读 · 0 评论 -
Roslyn(二)动态编译DLL和缺少Private.CoreLib的问题
当然这里的引用程序集比较粗暴,这里不再探讨。这个问题让我卡了很久,遇到同样的问题的可以参考借鉴吧。#参考。原创 2023-08-08 18:13:50 · 897 阅读 · 0 评论 -
Roslyn(一) 动态编译
该项目特别包括C# 和 VB.NET 编译器的自托管版本——用语言本身编写的编译器。编译器可通过传统的命令行程序使用,也可作为 API 在 .NET 代码中本地使用。Roslyn 公开了用于代码句法(词法)分析、语义分析、CIL动态编译和代码发射的模块。也称为Roslyn,是Microsoft的一组用于C#和Visual Basic (VB.NET) 语言的开源 编译器和代码分析 API。创建一个C#控制台程序,引用下面的包。这里放入了两个脚本代码,展示如何运行。下面是一个简单的例子,来简单的使用。原创 2023-07-21 14:25:55 · 685 阅读 · 0 评论 -
Visual Studio 2022下载脱机安装包
Visual Studio 2022下载脱机安装包官方教程下载和安装步骤。https://docs.microsoft.com/zh-cn/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2022下载 Visual Studio 引导程序我下载的是vs_enterprise.exe,根据你需要的版本来下载。存放到H:\Downloads\vs_enterprise.exe下载安装原创 2022-03-29 09:51:48 · 8349 阅读 · 0 评论 -
任务异步编程模型 - Task asynchronous programming model
任务异步编程模型 - Task asynchronous programming model首先,什么是异步?通过使用异步编程,您可以避免性能瓶颈并增强应用程序的整体响应能力。但是,用于编写异步应用程序的传统技术可能很复杂,这使得它们难以编写、调试和维护。异步对于可能阻塞的活动至关重要,如果此类活动在同步进程中被阻塞,则整个应用程序必须等待。当您使用异步方法时,应用程序会继续响应 UI。例如,您可以调整窗口大小或最小化窗口,或者如果您不想等待它完成,您可以关闭应用程序。为什么要需要任务异步编程模型原创 2021-07-08 18:51:49 · 336 阅读 · 0 评论 -
JObject遍历Json格式属性和值
Json数据如下:{"skeleton":{"images":""},"bones":[{"name":"root"}],"skins":{ "default":{ }, "base":{ "hair":{"hair":{"name":"base/hair", "x":1424,"y":2564.5,"width":1132,"height":1177}}, "h_r":{"h...原创 2020-03-25 17:04:44 · 7306 阅读 · 0 评论 -
用C#自带Task.Factory来处理函数超时处理
有时候某些函数在执行时可能会遇到数据一些问题,导致可能超出预期的时间,这时候可能并不是我们想要的数据,我们可以把这样的数据揪出来。C#已经封装了一些好用的函数,下面放上一段代码片段。类库Task.Factory自带的类方法实现 List<Geometry> geometrydata = null; bool timeout = true; ...原创 2020-02-13 11:11:50 · 2061 阅读 · 0 评论 -
常用的正则表达
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="500px" height="500px" viewBox="0 0 500 500" >//删除上面xml里的xmlns.Regex ...原创 2019-12-03 14:28:28 · 106 阅读 · 0 评论 -
匹配数据库GO,用来分隔多个SQL程序读取
匹配数据库GO,用来分隔多个sql程序读取sql = System.Text.RegularExpressions.Regex.Replace(sql, @"[^a-zA-Z0-9]go[^a-zA-Z0-9]","\r\nGO\r\n", System.Text.RegularExpressions.RegexOptions.IgnoreCase);string[] sqlbuffer = Sy原创 2016-11-11 14:25:39 · 443 阅读 · 0 评论 -
与或位运算扩充运算的运用
与或运算using UnityEngine;using System.Collections;public class CAndOr : MonoBehaviour { int a, b, c, d, e, f; int aa,bb,cc,dd,ee,ff; void Start () { a = 1 << 0; b = 1 << 1;原创 2016-11-16 18:38:34 · 422 阅读 · 0 评论 -
深复制
//要复制的实例必须可序列化,包括实例引用的其它实例都必须在类定义时加[Serializable]特性。 public static T DeepCopy<T>(T RealObject) { using (Stream objectStream = new MemoryStream()) { //利用 System.Run原创 2017-05-03 18:20:51 · 347 阅读 · 0 评论 -
Array,List,Dictionary通过IComparer排序
Dictionary对values进行排序[Serializable]public class CAnimatorData{ public string animatorName; public int animatorType; public object parm; public float t;}public class CAnimatorDataSort原创 2017-06-12 13:27:56 · 535 阅读 · 0 评论 -
获取所有模块名称,或者用GetTypes来获得所有类.
获取所有模块名称,或者用GetTypes来获得所有类.allClass = new Dictionary<string, int>(); System.Reflection.Assembly[] ass = AppDomain.CurrentDomain.GetAssemblies(); int all = 0; for (in原创 2018-04-02 15:46:30 · 2051 阅读 · 0 评论 -
简单的加密解密
using System.Collections;using System.Collections.Generic;using System.Text;using UnityEngine;public class CE : MonoBehaviour { char jied(char c) { return (char)(((c ^ 152) - 3) ^...原创 2019-02-21 14:49:58 · 1045 阅读 · 0 评论 -
自己做的一个c#超大浮点数bigFloat
当下有很多超大数值的游戏,就目标的Int或者Int64根本无法够用。所以做了下面的bigFloat,理论支持9999999999999999999…(2^31)位数,够用了吧。因为有字符串和循环运算,所以后面要做一个效率的测试。using System;/* * 当下有很多超大数值的游戏,就目标的Int或者Int64根本无法够用。所以做了下面的bigFloat,理论支持9999999999...原创 2019-09-18 15:45:54 · 2202 阅读 · 0 评论 -
给一个类成员变量struct赋值.
SetValue赋值一般变量直接使用,但是struct需要装箱成object再进行就可以了. 不知道行不行using UnityEngine;using System.Collections;using TeamUtility.IO;using System.Reflection;using System;namespace HS.Thinbug.CharControl{ /// <原创 2016-05-31 10:53:04 · 2599 阅读 · 0 评论