c#基础
奇点码农
不看书就跑步,身体和思想总要有一个在路上!
展开
-
.Net6.0系列-7 .Net 6LinQ(三)常用扩展方法
四 LinQ使用建议:当需要计算大量数据,并需要瞬间完成的时候不建议使用LinQ,如图形处理图片中的每一个像素点的时候,需要瞬间完成,并将图片瞬间显示出来可以使用三元运算符/或者Math/或者自己使用基础算法写。where()的返回集合是Enumerable,返回的是T的全部字段,而Select是可以返回集合的任意需要的字段。一.投影:把集合中的每一项转换为另一种类型使用的是Select()方法。find()是在lamada表达式中的使用,以上两个是LinQ的使用。三 链式编程:多条件一起查询。原创 2023-03-25 16:27:50 · 336 阅读 · 0 评论 -
.Net6.0系列-6 .Net 6LinQ(二)常用扩展方法
LinQ的where返回的IEnumerable,所有的括号中都可以写lamada表达式,list,数组等都可以用LinQ。FirstOrDefault():返回第一条或者默认值,会在没有记录的时候返回null,所以建议在编程的时候使用这个方法。SingleOrDefault():最多只有一条满足要求的数据,0条记录则会返回0或者null,当有多条数据时会报错。Single():有且只有一条数据,First():至少有一条,返回第一条数据,Any():判断集合中是否存在一条数据,返回的是布尔类型。原创 2023-03-25 13:46:39 · 602 阅读 · 0 评论 -
.Net6.0系列-5.Net 6LinQ(一)揭秘及优势
2.Net中定义了泛型委托Action(无返回值)和Func(有返回值),所以一般不用自定义委托类型。二:匿名委托的使用,这里主要是一步一步的从委托类型的写法,转换为Lamada表达式的写法。一.LinQ让数据处理变的简单,但是执行效率不一定最高, 本质就是委托。1.委托是可以指向方法的类型。3.c#中的var是强类型的。原创 2023-03-18 14:14:02 · 263 阅读 · 0 评论 -
.Net6.0系列-4.Net 6及以上异步编程Cancellation以及WhenAll/WhenAnyToken详解(三)
Cancellation详解以及在web开发使用情形,当用户关闭浏览器或者访问别的网页的时候该网页的请求如果在服务器端没有完成的,则服务器会自动终止访问请求,可以节省服务器资源。1.Task WhenAny(IEnumerable tasks):只要tasks中的任何一个Task完成,即可向下执行。2.Task WhenAll(IEnumerable tasks):等待tasks中的Task全部完成,才会向下执行。ThrowIfCancellationRequested():如果任务被取消,就抛出异常。原创 2023-03-12 10:55:15 · 542 阅读 · 0 评论 -
wpf--获取单元格的内容
最好的方法是使用Items属性并直接访问您的数据项:var dataItem = dataGrid.Items[0] as …;当然也可以直接通过数据源进行获取,应为datagrid绑定数据之后是同步的,但是如果一个数据源还没有数据,需要从前台输入的时候,这是后光标还在单元格里面,就需要使用下面这种方法了,可以获取行列,然后根据行列来获取,用于插入批次等情况,方便操作但是您可以使用此类来获取单元格并使用GetValue()方法访问该值(更像您的示例).代码取自此处:datagrid get c..原创 2021-12-18 14:29:34 · 1531 阅读 · 0 评论 -
自定义对话框详解
不鸡汤上干货本篇博客内容:讲解如何自定义对话框,并且介绍如何使用(纯手敲,会有点小错,自己改下吧),本功能也可以适用于不同的窗体之间传递参数可解决问题:系统默认对话框的单调问题,f翻译问题(如果在中文系统下使用英文软件对话框为中文模式,除非设置语言包为中文)第一步:创建窗体创建MesDiag窗体,并添加两个按钮设置FormBorderStyle属性为FixedDialog,添加两个按钮,一个Label lbl显示信息,分别命名为btnOK/btnNGbtnOK的Click动作下添加.原创 2020-09-09 10:25:39 · 692 阅读 · 0 评论 -
自定义控件,坐标不准
先将控件add,再设定坐标原创 2020-05-14 15:56:16 · 290 阅读 · 0 评论 -
MessageBox.show()显示在最前面
MessageBox.Show("是否保存?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification)原创 2020-05-13 14:30:27 · 2187 阅读 · 0 评论 -
C# 一个多层循环中,break一次能跳出几个循环?Continue呢?
1.Continue:会进行当前循环的下一个条件例如加1之后的,当前这一次continue之后的不执行2.public class BreakTest { public static void main(String[] args) { for(int x=0; x<2; x++) {...原创 2019-10-13 08:58:08 · 12091 阅读 · 2 评论 -
强制退出 避免程序在关闭时崩溃
C#使用强制退出指令:在FormClosing()中Process.GetCurrentProcess().Kill();VC中强制退出exit(0) 调用全局或者静态对象的析构函数然后退出ExitProcess(0) 调用全局或者静态对象的析构函数然后退出abort() 不调用全局或者静态对象的析构函数,但在Release下弹出”XXX已停止工作,Windows 正在...原创 2019-07-05 11:11:04 · 723 阅读 · 0 评论 -
C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
首先创建一个windows应用程序和web应用程序。 在web应用程序中,将网页切换到源代码并把源代码中一些没用的代码删掉,只保留头部,在windows应用程序读取网页源码时,这些都会被一起读下来,但这些都是没用的数据,而且删掉没什么影响。需要保留的代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFil...原创 2019-06-03 16:38:07 · 3634 阅读 · 0 评论 -
10进制转化为16进制会有两种情况
10进制转化为16进制会有两种情况:int i = 15;//一个10进制数string txt = Convert.ToString(i,16);//将上面10进制以16进制形式显示为fstring s = "15";//一个字符串15int i = Convert.ToInt32(s,16);//注意:这里并不是将15转换为16进制的F,而是将字符串“15”转为10进制的...原创 2019-05-17 09:14:50 · 990 阅读 · 0 评论 -
方法的参数总结
1.引用类型参数,在传递之前必须实例化或者赋值.使用ref参数进行输出2.输出参数不必在使用前赋值或者初始化.使用out修饰符进行输出3.数组参数的调用必须有params修饰符修饰4.重载:类中可以存在一个以上的相同名称的方法5.命名参数的使用方式:c:26.可选参数必须从最后一个开始,数组参数必须放在最后7.调用自身的方法就做递归 ...原创 2019-01-14 21:30:48 · 356 阅读 · 0 评论 -
初始化器的应用及语法
初始化器的应用及语法原创 2017-06-19 21:33:42 · 474 阅读 · 0 评论 -
c#隐藏函数 lambda表达式 泛型综合使用代码
隐藏函数 lambda表达式 泛型综合使用代码原创 2017-06-13 22:23:52 · 406 阅读 · 0 评论 -
c#中的正则表达式的源码
正则表达式的常用范例原创 2017-06-08 22:35:07 · 704 阅读 · 0 评论 -
c# class 实现泛型的源码
泛型的实现原创 2017-06-05 21:46:11 · 399 阅读 · 0 评论 -
ORM框架EF随笔记
1.数据库和模型同步的方法:在 .edmx文件点开,右键--》从数据库更新模型。 在模型中更新数据模型结构后,右键更新数据库并执行新生成的脚本(只有在数据不重要的情况下才可以做这样的操作)。2.EF修改数据库的语句范例:增加ADO.NET实体数据模型后:ItcastDbEntities dbContext = new ItcastDbEntities();T_N原创 2017-07-19 21:20:33 · 410 阅读 · 0 评论 -
ORAM思想
1.(表实体和表之间的相互转化)微型的ORAM框架:Dapper(sql)/PETAPOCO(跨数据库)2.ab(并发测试)/LogRunner(惠普的专业测试)/aqtime(强大到可以提示每行代码执行时间) td(开发人员的测试工具)原创 2017-07-24 21:10:32 · 1086 阅读 · 0 评论 -
比较好的ORM微型框架以及.net mvc常识
1.Dapper和PetaPOCO都是比较好的ORM微型框架Dapper不跨数据库/PetaPOCO可以跨数据库2.ab测试并发的网站/LR惠普测试的工具/aqtime测试工具(可以告诉哪行代码有问题)3.导航属性主要是关联两个或者多个表中的关联关系一对多等一个实体类中实现多个表的数据关联...翻译 2018-04-16 10:52:54 · 788 阅读 · 0 评论 -
C#调试不能进断点的解决方法
用C#写代码的时候调试是少不了的,如果进不了断点,主要有以下几种情况:1.VS有两种模式,在Debug模式下才能进入断点2.工具-选项-调试-常规-要求源文件与原始文件始终匹配取消选择(选的话进不了断点)(这个我没试过)3.项目上右键-属性-生成-优化代码(不选择,选的话进不了断点) ...原创 2019-01-07 10:55:57 · 18482 阅读 · 3 评论 -
c#中的字符串多个空格合并为一个空格的方法
#region 字符串中多个连续空格转为一个空格 /// <summary> /// 字符串中多个连续空格转为一个空格 /// </summary> /// <param name="str">待处理的字符串</param> /// <returns>合并空格后的字符串</returns> public sta原创 2019-01-18 10:05:04 · 2028 阅读 · 0 评论 -
Tabcontrol的用法总结
1.如果你要重绘的话,需要先将DrawMode属性设置一下: tabControl_**.DrawMode = TabDrawMode.OwnerDrawFixed;2.在重绘的过程中,如果需要修改标签的大小的会可以在ItemSize中设置,但是首先你需要先设置一下sizemode属性为fixed,才可以修改标签的ItemSize属性3.重绘的方法网上还是不少的我就不写了...原创 2019-01-08 11:33:45 · 3015 阅读 · 0 评论 -
Datagridview绑定List泛型数据源的注意事项
当Datagridview需要绑定List<**Entity>泛型的数据源的时候需要注意:1.DataPropertyName要绑定对应的字段;2.最好使用BindingList方式绑定,可以同步数据的变更 dataGridView_tipsbox.DataSource =new BindingList<Entity.**>(**);3.如果不需要dataG...原创 2019-01-08 16:04:08 · 1034 阅读 · 0 评论 -
Linq的基本用法,代码
Linq的基本用法,代码原创 2017-06-15 22:52:36 · 390 阅读 · 0 评论