- 博客(62)
- 收藏
- 关注
原创 winform RDLC报表分组 按照时间、班组、规格
添加完组关系后,选择时间字段,进行组属性设置右击进行组属性设计点击添加——选择时间字段——点击fx,因为该数据源的格式为——年月日时分秒,而我们需要的是按照——年月日 进行分组,所以在这里需要进行数据格式的转换,添加。
2025-03-03 13:53:07
409
原创 C#代码质量改善建议(七)——为类型输出格式化字符串
当提前意识到类型存在格式化字符串需求时:最简单的字符串输出是为类型重写Tostring方法,默认的Object的Tostring方法返回的是当前类型的名称,另外一种是继承接口IFormattable。如果类型本身没有提供格式化,这个时候可以添加格式化器,它的好处是可以随时根据需求进行更改。
2024-12-28 15:39:08
207
原创 C#代码质量改善建议(六)——“ ==”与“Equals”
这是因为基于键值的集合Dictionary会根据Key值寻找Value值,实际上根据Key值的HasCode查找Value,当我们不重写GetHashCode值时,调用的是Object类型默认的GetHashCode方法,该方法会给每一个new对象生成一个固定的整型值,该值在对象的生存周期不会发生改变。可能会存在潜在的Bug,所以除非考虑到自定义类型会被用作基于散列的集合的键值,否则不建议重写Equals.HashCode还存在一个问题,它返回的是一个整型类型,显然无法满足字符串的容量。
2024-12-23 11:03:13
392
原创 C#代码质量改善建议(五)——习惯重载运算符、创建对象时需要考虑是否实现比较器:IComparable、IComparer
就是方法的实现,因为利用了整型的默认比较方法,所以此处注释代码,是为了更好地说明比较器的工作原理。接口IComparer的接口就体现出来了,可以使用IComparer自定义一个比较器。而不是Double.Add(x,y)同理在构建自己的类型时,应该考虑重载运算符。有对象的地方就会有比较,根据排序需要,接口IComparable就会起到作用。如果不想以基本工资排序,用Bonus 排序那么又应该怎么办呢?开发过程中我们习惯于。
2024-12-04 08:30:00
423
原创 C#代码质量改善建议(四)——区别Readonly与Const、将0值作为枚举的默认值、避免给枚举元素提供显示值
const变量之所以效率高,是因为编译器编译后,在代码引用const变量会用const变量所对应的实际值来代替。允许使用的枚举类型有byte、sbyte、short、ushort、int、uint、long、ulong。本建议不适用于枚举类型指定System.FlagsAttribute属性,要求每个元素的值都是2的若干次幂。设置显示值后,AsemyThread没有赋值但自动计算后也为2,例如以下,输出数据为0,不在枚举中的数据。
2024-12-03 15:46:37
251
原创 C#代码质量改善建议(三)——TryParse与Parse、Int?确保值类型也可以为null与??运算
除了string之外的其余基元类型,它们都有两个将字符串转型为本身的方法,即Parse、TryParse。是Nullable的简写,可以为空的类型表示其基础值类型正常范围内的值再加上一个null值,例如Nullable,其值范围为-2147483648~2147483647,再加上一个null值。1.数据库中一个int字段可以被设置为null,在C#中值被取出来后,为了将他赋值给int类型,不得不判断一下它是否为null,如果将null赋值给int类型,会引发异常。但是上述转换有点繁琐,所以可以用到?
2024-12-03 10:55:39
577
原创 c#代码质量改善建议(二)——数据类型强转、AS转换、IS使用
类似于这样的代码就是强制转换强制转换意味着两件事:1.FirstType和SecondType 彼此依靠转换操作符完成两个类型之间的转型2.FirstType是SecondType的基类。类型之间如果存在强制转型,那么要么是第一种关系,要么是第二种,不能既是继承关系又提供了转型符。
2024-12-02 17:40:45
343
原创 c#代码质量改善建议(一)——字符串操作、类型转型
System.Converter 提供了一个基元类型转换为其他基元类型的方法,如ToChar、ToBoolean方法等。值得注意的是System.Convert还支持将任何自定义的类型转换为任何基元类型,只要自定义类型继承了IConvertible接口就可以。在使用BitConverter.GetBytes方法时,如果数据类型是非整数的浮点数,那么返回的字节数组长度是8个字节。在使用BitConverter.ToChar方法时,需要注意字符编码,因为字符到字节的转换依赖于特定的编码方式。
2024-12-02 16:23:05
875
原创 Winform RDLC报表(数据库连接、报表函数使用、动态表头)
右击表格框——表达式——点击字段(如果字段没有,尝试刷新数据集之后重新点开字段)——双击值列表下的字段。点击文本框属性——填充——点击函数Fx——点击函数IIF——选择要判断的字段——赋值颜色。2.点击该项目设计的数据源,下方会出现对应可用数据集,选择需要的数据集,点击确定。单击一行或一列,选择属性——可见性——基于表达式显示或隐藏——点击Fx。右击表格框——参数——双击索要显示值——表达式正确——确定。打开报表数据——点击参数——添加参数。右击项目——添加——新建项——报表。
2023-12-29 16:25:06
2662
3
原创 ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署
可参考 https://blog.youkuaiyun.com/qq_40685439/article/details/116585478。左击项目——点击发布——点击发布——点击目标位置,就是发布的API所有文件。在后期部署时,可以将整个publish文件夹拷贝放在指定位置。新建DataContext类并继承DbContext。
2023-10-24 17:32:30
1474
原创 Html基础知识学习——map热区、 iframe打开其他网页、 flash背景透明、 英文单词 数字词内断行、超出文本不显示并且显示省略号 、元素隐藏、 宽高未知img居中显示(十九)
map热区、 iframe打开其他网页、 flash背景透明、 英文单词 数字词内断行、超出文本不显示并且显示省略号 、元素隐藏、 宽高未知img居中显示
2023-07-18 18:10:41
269
原创 Html基础知识学习——圣杯布局、margin负值、等高布局(十七)
* 圣杯布局:两边页面固定中间页面宽度随着浏览器大小自适应*/两边页面固定中间页面宽度随着浏览器大小自适应。/* 等高布局 *//* 等高布局 */
2023-07-17 18:13:01
3623
原创 Html基础知识学习——兼容问题与解决方法(十六)
1.计算一定要精确,不要让内容的宽高超出我们设置的宽高,在IE6下内容会撑开设置好的宽高 2.元素浮动,宽度需要内容撑开,就给里面的块元素都加浮动 3.在ie6.ie7下元素要浮动并在同一行 就给这些元素都加浮动 4.注意标签嵌套规范 5.IE6下元素高度小于19px的时候。会被当做19px来处理 解决方法:overflow:hidden 6. border:1px dotted
2023-07-14 18:19:34
819
原创 Html基础知识学习——css精灵(十五)
将网页用到的图片放在一张图片上,进行定位展示 优点:防止网页http请求次数过多,从而提高页面性能 缺点:降低开发效率。维护难度加大
2023-07-13 13:22:19
1004
原创 前端基础知识学习——圆角、透明圆角(十四)
* 添加圆角 方法1:border-radius cs3不兼容*//* 添加圆角 方法2:宽高可扩展 圆角宽高固定*/两边角图像像素宽度为9px。
2023-07-11 10:44:14
718
原创 前端基础知识学习——滑动门(导航栏应用)十三
position:absolute ——需要给每个元素设置坐标。display:inline-block ——不支持块标签。position:fixed ——存在不兼容问题。display:inline ——内嵌 不支持宽度。float ——浮动。/* 宽度跟着父级 高度由子级决定 *//*元素宽度由内容撑开。
2023-07-10 15:29:12
2206
原创 前端基础知识学习——滑动门(利用背景图像的可层叠性 创造特殊效果)十二
滑动门:利用背景图像的可层叠性,并允许他们在彼此之上进行滑动,以创造一些特殊的效果
2023-07-06 09:30:53
347
原创 前端基础知识学习——获取dom对象、获取html属性、获取内容、更改样式、创建dom元素、删除元素、代替元素(十)
获取dom对象、获取html属性、获取内容、更改样式、创建dom元素、删除元素、代替元素
2023-06-15 11:14:35
958
原创 前端基础知识——数组与常见方法(push shift join toString pop unshift sort concat slice splice indexOf ever)、循环(九)
push shift join toString pop unshift sort concat slice splice indexOf every some filterfor in 、for of、forEach、reduce
2023-06-14 18:31:36
135
原创 前端基础知识——数据类型Number、parseInt(八)
1.只有声明,没有赋值2.方法里面参数没有传进去3.调用一个对象里面没有定义的属性。
2023-06-13 16:37:24
105
原创 前端基础知识学习——Html常见标签 img标签、a标签、h标题、p段落、列表、选择符(二)
Html常见标签 img标签、a标签、h标题、p段落、列表、选择符
2023-05-23 10:30:47
2308
原创 前端基础知识学习——Html、Css、JavaScript语言简介(Background、border、Padding、Marigin、文本属性介绍与使用)(一)
复合属性:一个属性里面包含多个属性值#id 代表指定到id。
2023-05-21 10:57:23
395
原创 MySQL基础知识学习——EntityFrameworkCore 使用(九)
数据库表引用EntityFrameworkCore运行运行结果TbStuStudbContext查询新增删除
2023-05-16 16:53:03
950
原创 C#基础知识学习——lambda 、Linq (二十)
lambda通过Lambda表达式的方式创建Func和Action委托绑定方法Linqlinq sql语法区别对象操作方式常见方法WhereCountFirstLastAny、AllSkip、SkipWhileTakeSelect选出匿名对象生成指定对象GroupBy 分组OrderBy 升序OrderByDescending 降序SumMinMaxAverageCountContains演示WhereStartsWithGroupBy
2023-05-16 16:51:33
418
原创 MySQL基础知识学习——ORM(数据库表与类的对应)封装(增删改查)(八)
对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。ORM在业务逻辑层和数据库层之间充当了桥梁的作用。O起源于"对象"(Object)===>类, 而R则来自于"关系"(Relational) ===>关系型数据库。ORM旨在解决:程序员在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的,通过ORM可以直接操作对象完成对数据库的操作。
2023-05-11 11:04:59
1197
原创 MySQL基础知识学习——ADO.NET实现数据库连接、Sql语句执行(增删改查)(七)
ADO.NET,是一个COM组件库,用于在 Microsoft技术中访问数据。创建控制台程序,在NuGet引用MySql.Data双击项目,添加引用。
2023-05-11 09:54:13
695
转载 ASP.Net Core Web API Swagger 版本控制与注释
ASP.Net Core Web API Swagger 版本控制与注释
2023-02-21 10:44:22
368
原创 MySQL基础知识学习——多表查询(内连接 外连接 自连接)、子查询(四)
多表关系 多表查询 内连接 外连接 自连接 子查询 定义 多表查询——子查询子查询(匹配一个值)子查询(匹配多个值)子查询实例(去重、不去重、标量子、列子、行子查询)
2023-02-13 18:06:45
373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人