C#
C#
hubaxiaofeiyu
上海理工大学
展开
-
Minio中文路径造成无法下载问题解决办法
Minio中文路径造成无法下载问题.net core解决办法//后端需要对含有中文的路径进行加密 var encodedFilePath= Encoding.UTF8.GetString(Convert.FromBase64String(filePath));var lastFilePath = HttpUtility.UrlDecode(encodedFilePath);// 前端使用TS, 对url 进行编码encodeURIComponent(imagePath)...原创 2022-05-06 12:17:55 · 2463 阅读 · 0 评论 -
C# Except comparer 使用小结
C# list Except Comparer原创 2022-03-07 10:56:37 · 1304 阅读 · 0 评论 -
C# 依赖dll 嵌在exe内
C# 依赖dll 嵌在exe内原创 2022-02-17 16:10:43 · 863 阅读 · 0 评论 -
C# 矩阵运算求逆 转置
static void Main(string[] args){double[,] matrix = new double[4,4]{{ 1, 0, 0, 0 },{ 0, 1, 0, 0 },{ 0, 0, 1, 0 },{ -139, -163, 0.9, 1 },}; var str = "1,0,0,0,0,1,0,0,0,0,1,0,-139,-163,0.9,1"; var matrix1 = ConvertStringToTwoArray(str原创 2021-11-23 10:26:35 · 380 阅读 · 0 评论 -
安装了windows 服务,在服务列表里找不到服务的解决办法
安装了windows 服务,在服务列表里找不到服务的解决办法当我们安装了windows 服务,一般在任务管理器中的服务或者是服务界面是可以看到相应的服务的今天遇到服务安装了,但是在服务列表中却找不到该服务的现象,服务重装了,电脑也重启了,依然是显示不了,尝试在cmd 窗口重启该服务在 CMD 窗口中重启该服务// 重启服务net start ServiceName发现该服务已经启动了在 CMD 窗口中查找该服务// 查找服务sc query |findstr "ServiceName"原创 2021-09-13 11:16:38 · 6426 阅读 · 1 评论 -
.net core 一对一的表 建立
.net core 一对一的表 建立分别在两张表内建立导航属性和关联ID//ResumeEntity public class ResumeEntity: AuditedAggregateRoot<Guid> { public string Education { get; set; } public string StaffId { get; set;原创 2021-09-11 15:28:38 · 235 阅读 · 0 评论 -
C# List AddRange Concat Value cannot be null. (Parameter ‘collection‘)
C# List AddRange Concat Value cannot be null. (Parameter ‘collection’)在C# 中两个list进行相加时,经常用到List.AddRange() 或则Concat()的用法如果使用时遇到 Value cannot be null. (Parameter ‘collection’)的异常,说明被添加的list 对象是null有关AddRange 的说明有关Concat 的说明想要避免这个问题,2种解决办法使用AddRang原创 2021-08-20 10:16:34 · 1324 阅读 · 0 评论 -
C# string.Format常见异常
C# string.Format常见异常Index (zero based) must be greater than or equal to zero and less than the size of the argument list.原创 2021-07-28 17:06:09 · 1030 阅读 · 0 评论 -
Tag being set does not match tag in DicomElement
Tag being set does not match tag in DicomElement在处理Dicom 文件时,经常需要构建DicomSequenceItem ,此时要保证DicomElementSq的对象和DicomSequenceItem 一致,否则会在运行时发生异常// 遇到的异常写法 var wedgesSq = new DicomElementSq(DicomTags.WedgeSequence); sequenceItem[DicomTags.RecordedWedgeS原创 2021-07-28 15:59:39 · 81 阅读 · 0 评论 -
C# string 和 list contains 使用注意事项
C# string 和 list contains 使用注意事项string 使用containslist 使用containsstring 使用contains string testStr = string.Empty; //此时调用contains 判断是否含有字符串 是没问题的,result 为false var result = testStr.Contains("test"); //此时调用contains 判断是否含有字符 也是没问题的,result 为false res原创 2021-07-18 14:20:53 · 2300 阅读 · 0 评论 -
Index (zero based) must be greater than or equal to zero and less than the size of the argument list
Index (zero based) must be greater than or equal to zero and less than the size of the argument list.在coding 时,遇到了以上错误信息,检查了代码,不出来问题经调试后发现是以下写法导致,// 经常用到string.formatvar ret = string.Format("{0}{1}{2}{3}", "test", "test1", "test2");定义4个变量,实际赋值3个该写法原创 2021-06-29 10:21:21 · 7006 阅读 · 0 评论 -
C# string转enum的泛型转换方法
C# string转enum的泛型转换方法开发中常用到string 到枚举的转换,写了个泛型转换demo// demo internal class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); var ret = StringToEnum<Color>("Red");原创 2021-06-17 11:34:28 · 605 阅读 · 0 评论 -
C# LINQ to Entities 不识别方法
C# Entity使用LINQ的注意事项// 使用LINQ 查询var dbStudent = _dbWrapper.GetEntities<tablestudent>().LastOrDefault(item => item.grade != null && item.grade == 80);此时会报出以下异常"LINQ to Entities 不识别方法“原因是对集合的查询操作会被LINQ编译成SQL语句,此时是无法识别方法的。可以通过以下方式来解决/原创 2021-06-05 10:57:31 · 751 阅读 · 0 评论 -
.net 5 Map 使用注意事项
.net中Map 使用注意事项在Application 层可以做对象和Entity 的Map,以下是ApplicationService中的定义以下是接口IObjectMapper的定义// A code blockvar result = ObjectMapper.Map<Entity, Dto>(Entity); var result = ObjectMapper.Map<List<Entity>, List<Dto>>(Entities原创 2021-06-03 20:10:31 · 782 阅读 · 0 评论 -
Dicom中日期和时间的解析处理
Dicom中日期和时间的解析处理在Dicom 中存储的是05/06/2021, 15:00:38.000000存入数据库中发现时间变为是导入Dicom 数据时,解析时间错误,原来的实现如下: string reviewTimeStr;//会变成 if (DataSet[DicomTags.ReviewTime].TryGetString(0, out reviewTimeStr)) { TimeSpan reviewTime; if (TimeSpan.原创 2021-05-19 13:07:26 · 1091 阅读 · 0 评论 -
C# string 对象 ToUpper() Equals()的使用注意事项
C# string 对象 ToUpper的使用注意事项string特性ToUpper 使用时需要判空操作string特性编译器直接支持的类型:sbyte / byte / short / ushort / int / uint / long / ulongchar / float / double / bool / decimal /object / stringstring 是基元类型的一种,null 字符串:没有分配内存;空字符串分配了内存,但内存里面没有数据.//null 字符串str原创 2021-05-13 18:05:19 · 484 阅读 · 0 评论 -
C# 常量 const readonly与static readonly用法与区别
C# 常量 const readonly与static readonly用法与区别const 静态常量readonly 动态常量// A code blockpublic class ConstClass { private readonly int A = 32; private const int B = 33; public readonly int C = 34; public static readonly int原创 2021-05-06 17:45:40 · 205 阅读 · 0 评论 -
C# 大于 DateTime.MaxValue 或小于 DateTime.MinValue 的 DateTime 值无法序列化
在转换为 UTC 时,大于 DateTime.MaxValue 或小于 DateTime.MinValue 的 DateTime 值无法序列化为 JSOpublic string Serialize(object obj){DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); using (MemoryStream ms = new MemoryStream())原创 2021-04-25 17:26:03 · 1175 阅读 · 0 评论 -
static和this的使用
static和this的使用static使用注意事项this使用注意事项static使用注意事项public class Bank{ public string account; poublic static void Setaccount() { //这样写会直接报错 //因为account 是实例变量,也称为对象变量,static 方法无法直接访问, // 需要先有对象才能访问实例变量 account = "test"; }}public class Bank{原创 2021-04-16 00:34:40 · 232 阅读 · 0 评论 -
ABP进行Map操作时指定对象map时报错处理
ABP进行Map操作时指定对象Map时报错处理ABP 中把Entity 的对象Map 到 Dto 内时,Entity 定义一个类型为long 的对象, 在 Dto 中有一个名称一样的对象,但类型是guid,// StudentEntitypublic class StudentEntity{ public Guid RelatedPatientId { get; set; }}// StudentDtopublic class StudentDto{ public原创 2021-04-13 23:39:06 · 571 阅读 · 0 评论 -
foreach 之跳出循环
foreach 之跳出循环code review 时,发现有同事在为了跳出foreach, 使用了try-catch,// An highlighted block IsNameDuplicate(List<string> names): boolean { let ret = false; try { names.forEach(name=> { if ( name === "existName") {原创 2021-03-11 14:53:32 · 2880 阅读 · 0 评论 -
.net 开发中有关绝对路径与相对路径的转换
.net 开发中有关决定路径与相对路径的转换在项目开发中需要用到相对路径的地方很多,根据程序的运行目录来存储文件,// 相对路径../../Temp/Save// 绝对路径"D:\\Data\\Temp\\Save"其中:“./”:当前目录。“…/”:上一层目录。以”/”开头:代表根目录。相对路径使用方便,但不如决定路径直观,尤其在调试程序时,往往是决定路径和相对路径拼起来的,// 运行目录+相对路径var tmpPath = "D:\\Data\\bin\\test../../原创 2020-12-05 15:16:51 · 1031 阅读 · 1 评论 -
C# 有关 “/“ 运算符的使用
C# 有关 “/” 运算符的使用最近在做RGB 颜色处理的时候,因业务需求需要对颜色进行除法处理,发现转换处理后的数据存到数据后变为 0,分析后发现原因是 “在整形数据之间使用时,如果两个数均为整形时,会把小数部分舍弃掉,只取整数部分”;整型之间 ,会把小数部分舍弃,比如:128/255 = 0浮点型之间,结果是浮点型数据,比如 11/3 = 3.66666666666667,使用Convert.ToInt32 对数据进行四舍五入的处理, 使用Math.Floor() 进行取整处理整型和原创 2020-10-27 11:20:12 · 1546 阅读 · 0 评论 -
更新DICOM内存(filestream)中的内容
如何更新DICOM内存(filestream)中的内容?最近在进行数据导出时,要把系统中的患者四要素同步到dicom文件中数据是以stream 的形式从server 上获取,把系统的患者四要素更新到拿到的stream中。public bool EditPatientInfo(Stream fileStream,DM_PatientInfo patientInfo, out Stream editedStream){ editedStream = new MemoryStream(); //首先要原创 2020-10-14 21:09:37 · 208 阅读 · 0 评论 -
C#有关URL中特殊字符的处理
一、问题 URL 传递时 客户端发送的和服务端接收到的不一致经分析是因为URL 中含有特殊字符"#$ ^ & * + =",这些字符在URL 中被转义啦!!!常见的URL 中的特殊字符、表示的意义以及十六进制的表示字符 意义 十六进制+ URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码原创 2020-09-23 20:45:10 · 6958 阅读 · 0 评论 -
C# Hashtable 和 Dictionary的区别
无论Hashtable还是Dictionary,都要引用System.Collections命名空间Hashtable 判断可以存在与否使用:ContainsHashtable 定义时没有参数,是object 对象Hashtable获取value 值时需要强转Add、Remove、Clear、Contains// An highlighted blockusing System.Collections;using System;public class Solution { publ原创 2020-07-27 01:34:36 · 128 阅读 · 0 评论 -
如何确认当前使用的.net 版本 及 C# .net VS 版本之间的对应关系
如何确认当前使用的.net 版本 及 C# .net VS 版本之间的对应关系方法1:打开此电脑,在地址栏中输入: %systemroot%\Microsoft.Net\Framework现在看到的就是目前使用的,net 版本**方法2:**是通过控制面板去查看这时我们发现,两种路径获取的方式的版本是不一样的,Why???我们找到第一种方式的文件夹,查看dll的详细信息可以发现,这个版本和通过控制面板查看的版本是一致的之所以出现上述现象。原因:NET4.7其实是NET4.0升级版,当你原创 2020-07-14 17:59:11 · 10411 阅读 · 1 评论 -
XML信息获取
XML信息获取两种方式:一种反序列化,另一种是直接读取。反序列化的实现方式:// 根据节点读取string filePath = "D:\\xml\\Info.xml"; XmlDocument tmpDoc = new XmlDocument();tmpDoc.Load(filePath);string rst = "";//使用xpath表达式选择文档中所有的student子节点XmlNodeList nodeList = doc.SelectNodes("Root/MarketLis原创 2020-07-14 11:32:30 · 282 阅读 · 0 评论 -
float类型的数据和无穷小的比较
float类型的数据和无穷小的比较coding 时,偶尔需要对浮点型数据进行比较,尤其是判断两个浮点型数据是否一致时,需要把两个浮点数之差的绝对值和float.Epsilon比较其中 float.Epsilon是大于零的最小浮点数(大约为1.401298E-45)以判断浮点数只能为 1 -1 和 0 为例//和 1 -1 0 比较if ((Math.Abs(X0) < float.Epsilon || Math.Abs(X0 - 1) < float.Epsilon || Math.A原创 2020-07-02 14:15:52 · 942 阅读 · 0 评论 -
C# 有关字段的使用
C# 有关字段的使用在声明字段时,一般这样写,并且给一个初值,false;// 声明字段private bool _hasImage = false;如果我们装了提示插件,会发现这个false 是置灰的, 原因是bool变量的默认值是false,也可以写成以下的写法:// 声明字段private bool _hasImage;_hasImage 做为一个全局变量使用, 当我们第一...原创 2020-04-23 20:12:58 · 636 阅读 · 0 评论 -
c# 中string.Equals用法
c# 中string.Equals用法字符串是引用数据类型,是String对象我们在C# 中定义两个string 类型的变量stringA 和 stringB当需要对字符串进行比较的时候,可以直接使用:if( stringA == stringB) ;当然也可以使用:if( stringA.Equals(stringB) );但是在LINQ语句中,找出与软件版本号(softwareV...原创 2020-03-27 21:01:41 · 6184 阅读 · 0 评论 -
C#在生成文件路径时去除特殊字符
生成文件路径时去除特殊字符欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面...原创 2020-03-27 21:51:57 · 1874 阅读 · 0 评论