
C# Code
@kolalo
这个作者很懒,什么都没留下…
展开
-
C#隐藏控制台键盘输入内容
【代码】C#隐藏控制台键盘输入内容。原创 2022-07-29 17:41:54 · 406 阅读 · 0 评论 -
.NET与Java通过Kernel32.dll实现内存共享
参考资料:记录:C#创建共享内存,可用于两个独立进程间的通信原创 2021-09-12 22:11:02 · 404 阅读 · 0 评论 -
C# 解析带有默认命名空间的XML
class Program{ static void Main(string[] args) { Method1(); Method2(); } public static void Method1() { XmlDocument xml = new XmlDocument(); /****************************xml要做替换操作***********************原创 2021-06-19 13:59:02 · 871 阅读 · 0 评论 -
关于IIS调用Kakasi.NET.Interop库导致进程结束,解决方法
缘起:公司最近的给了个对接任务,需要将用户输入Japanese 转换为 Romaji,因此用到了开源库Kakasi.NET.Interop,在通过IIS调试该库的过程中,出现了进程被无端结束,经咨询,IIS不能直接调用该库,会导致该库中一些重要文件无法被关联到一起,从而致使当前进程被结束,下面这是回复的内容:/* IMPORTANT: The native libkakasi.dll library will look for these 2 dictionary file原创 2021-05-07 18:07:54 · 199 阅读 · 0 评论 -
远程主机强迫关闭了一个现有的连接。在 System.Net.Sockets.Socket.ReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, So
远程主机强迫关闭了一个现有的连接。 在 System.Net.Sockets.Socket.ReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP) 在 System.Net.Sockets.UdpClient.Receive(IPEndPoint& remoteEP)最近搞WPF开发,其中遇到一个奇怪的异常:在本地测试仅运行客户端程序不原创 2021-01-25 22:06:12 · 3522 阅读 · 0 评论 -
System.Net.Sockets.SocketException:“向一个无法连接的网络尝试了一个套接字操作。”
IP地址有问题,应先进行正则校验,校验成功后方可进行使用原创 2021-01-25 20:47:45 · 5733 阅读 · 0 评论 -
Process is terminated due to StackOverflowException.
这种情况多出现在函数无限递归调用中public bool GetResult(int id){ return GetResult(id);}public class Program{ private string name;//////////////////////////////////////////////// public string Name { get { return Name; } set { Name = value; } }//////////原创 2021-01-09 18:54:15 · 846 阅读 · 0 评论 -
逻辑上低级错误
public static void Show(List<string> names){ if (names == null && names.Count < 1) { return; } Console.WriteLine(names[0]);}public static void Test(){ List<string> names = new List<string>();原创 2021-01-07 15:14:35 · 361 阅读 · 0 评论 -
C#带有返回值的异步方法
/// <summary>/// 异步执行/// </summary>/// <typeparam name="T">参数类型</typeparam>/// <typeparam name="R">返回值</typeparam>/// <param name="func">委托</param>/// <param name="t">参数值</param>/// <ret原创 2021-01-03 14:38:14 · 2195 阅读 · 0 评论 -
C#正则表达式匹配出现 值不能为 null。参数名: input原因
Consol.WriteLine(Regex.Replace(null, pattern, “”));值不能为 null。参数名: inputSystem.Text.RegularExpressions.Regex.Replace(string, string)System.Text.RegularExpressions.Regex.Replace(string, string, string)原创 2020-12-30 14:24:57 · 1874 阅读 · 0 评论 -
C# 控制台输入超过255个字符的方法
int inputStrLength = 10000;Console.SetIn(new StreamReader(Console.OpenStandardInput(), Encoding.Default, false, inputStrLength));string strTxt = Console.ReadLine();原创 2020-12-16 23:31:17 · 612 阅读 · 0 评论 -
C# FP Maybe
using System;namespace S{ public struct Option<T> { readonly bool isSome; readonly T value; private Option(T value) { this.value = value; isSome = true; } /// <sum原创 2020-11-23 22:50:15 · 160 阅读 · 0 评论 -
C#托管和非托管资源
C#托管和非托管资源一、基础概念内存:程序运行于内存上,存储变量,函数,对象等数据,暂时存储CPU运算数据,虚拟内存:堆:用于存储对象的数据结构,CPU无法直接读取栈:用于存储变量的数据结构,CPU能直接读取变量的生命周期:创建->使用->释放(该变量不在被使用,超过定义域范围)对象的生命周期:垃圾回收器:用于自动清理内存中所有不在被引用的托管对象...原创 2020-11-23 20:30:52 · 1198 阅读 · 0 评论 -
C# Func与Predicate互转
public static Predicate<T> FuncToPredicate<T>(this Func<T, bool> func){ return x => func(x);}public static Func<T, bool> PredicateToFunc<T>(this Predicate<T> predicate){ return x => predicate(x);}原创 2020-11-22 22:12:39 · 284 阅读 · 0 评论 -
C# Action转换为Func
在使用FP编码的过程中会遇到这样一个问题:A函数需要传入一个Func参数来执行,后来由于某种需要,对A函数进行重载,重载后的A函数只是传入的参数由Func变成了Action其他的基本都没发生变化,这样会产生两套一样的代码,解决方案如下:using Unit = System.ValueType;public static class ActionToFunc{ private static Unit Unit() => default(Unit); public static原创 2020-11-22 21:28:57 · 328 阅读 · 0 评论 -
C# FP Unit
在使用FP编码的过程中会遇到这样一个问题:A函数需要传入一个Func参数来执行,后来由于某种需要,对A函数进行重载,重载后的A函数只是传入的参数由Func变成了Action其他的基本都没发生变化,这样会产生两套一样的代码,解决方案如下:using Unit = System.ValueType;public static class ActionToFunc{ private static Unit Unit() => default(Unit); public static原创 2020-11-22 21:23:36 · 277 阅读 · 0 评论 -
C#字符串驻留机制 - 通过lock来解答
string类型的字符串在创建和初始化时系统会检查内存中是否存在一样的值,如果一样就不会开辟新的空间,而是使用内存中相同字符串的地址,因此在lock(string),不同线程同时访问lock块时会发生阻塞,所以lock(string)是有一定的风险的,具体情况看下面的例子此例子使用三个字符串变量(2个不同名变量,一个匿名变量),其值完全一样,通过不同的线程去访问他们public class LockString{ public void GetNoLockStr(string hello)原创 2020-11-18 11:48:36 · 508 阅读 · 0 评论 -
C#实现Math.Sqrt函数 -- 牛顿迭代法
/// <summary>/// 开平方根(牛顿迭代法)/// </summary>/// <param name="c"></param>/// <returns></returns>public static decimal Sqrt(decimal c){ if (c < 0) { return decimal.MinValue; } decimal e = 1e-原创 2020-11-21 15:07:40 · 1177 阅读 · 0 评论 -
C#输入一个小数将其转换成分数形式
/// <summary>/// 分数/// </summary>public class Fractional{ /// <summary> /// 分子 /// </summary> public decimal Member { get; } /// <summary> /// 分母 /// </summary> public decimal Denomina原创 2020-11-10 22:03:45 · 1878 阅读 · 0 评论 -
C#如何深度克隆对象
话不多说上代码:/// <summary>/// 利用序列化进行对象拷贝,要求对象是序列化的/// </summary>/// <typeparam name="T">对象类型</typeparam>/// <param name="item">源对象</param>/// <returns>克隆对象</returns>public T Clone<T>(T item) where T原创 2020-11-10 13:27:43 · 1360 阅读 · 0 评论 -
C# 函数柯里化
柯里化(局部套用)定义:是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。public static class A{ public static Func<T1, Func<T2, TResult>> Currying<T1, T2, TResult>(this Func<T1, T2, TResult> func) => x1 => x2 => func原创 2020-10-15 18:35:00 · 464 阅读 · 0 评论 -
C#对类所有属性进行排序并输出Json数据以及对Json数据进行排序
/// <summary>/// 对自定义类进行排序,并输出Json字符串/// <example>/// string json=JsonConvert.SerializeObject(new 自定义类名(){...}, new JsonSerializerSettings { ContractResolver = new SortContractResolver() });/// </example>/// <remarks>/// 需要New原创 2020-10-08 14:35:15 · 1511 阅读 · 0 评论 -
C#实现异步登录
一、需求描述C/S架构模式中,有时由于网络较差或服务器的原因,导致在点击了登录按钮后界面卡死不动,为了解决在点击了登录按钮后界面能够拖动,下面就用C#5.0推出的async await关键字来实现这样的功能二、代码实现private void btnLogin_Click(object sender, EventArgs e){ callLogin();}public async void callLogin(){ Task<bool> task = new Fu原创 2020-10-06 18:06:16 · 391 阅读 · 0 评论 -
C#发起带证书的https请求
在对接API过程中,需要用到对方提供的xxx.p12证书,以及对应的密码,解决方案如下:/// <summary>/// 带证书请求/// </summary>/// <param name="url">请求地址</param>/// <param name="method">请求方式</param>/// <param name="content">请求的字符串</param>/// <pa原创 2020-09-27 13:37:18 · 4409 阅读 · 1 评论 -
C#,Java MD5withRSA算法
公司最近对接的API需要将发到服务商那边的数据进行加密,加密使用的算法是MD5withRSA,已经提供了Java的MD5withRSA算法,但公司使用的是.Net开发的,在此做个记录.需要添加一个名为BouncyCastle的NuGet程序包,公司内部使用的是itextsharp.dll组件,其实itextsharp.dll中已经包含了BouncyCastle,实现效果是一样的.NET代码/// <summary>/// 数据加密(通过私钥进行加密)/// </summary&g原创 2020-09-15 09:50:27 · 1090 阅读 · 0 评论