06 2021 档案
摘要:C#中的小数和百分数计算 一、百分数 //按照四舍五入的国际标准 string p1 = (Math.Round(0.333367, 4)*100).ToString() + "%";//33.34% double dbdata = Math.Round((double)1 / (double)3,
阅读全文
摘要:WPF使用VisualTreeHelper进行复杂命中测试 一、简介 接上篇的简单命中测试,添加VisualTreeHelper复杂命中测试。 二、代码案例 我在一个画板上在不同的位置放了3个圆形。给他们放置了不同的位置和填充不同的颜色,我们通过命中测试判断如果鼠标在圆上抬起了,我们读取当前圆的填充
阅读全文
摘要:WPF使用VisualTreeHelper进行简单命中测试 一、简介 我们有时候又需求从当前视觉树中找一些东西,比如鼠标按下的时候,看看鼠标下的元素都有什么。又比如某块区域下有哪些元素?某个坐标点下有哪些元素?这些需求在使用 命中测试的时候,可以非常方便和快速的去找到我们需要的内容。 二、代码案例
阅读全文
摘要:WPF Data Binding数据驱动 一、简介 在XAML文件中我们创建了一个TextBlock 和一个Slider。2个控件。我们把TextBlock的Text属性(用于显示文本的属性)设置为{Binding Intelligence}。把Slider的Value属性(滑块的当前值)设置为{B
阅读全文
摘要:WPF Binding中的RelativeSource属性 一、简介 一个在Binding中比较重要的知识点——RelativeSource. 使用RelativeSource对象指向源对象。用这个可以在当前元素的基础上查找其他对象用于绑定到源对象。在实际使用Binding的过程中大部分时间Bind
阅读全文
摘要:WPF特效——流光动画效果 一、代码 <Window.Resources> <!--外--> <Storyboard x:Key="Storyboard1" RepeatBehavior="Forever"> <PointAnimationUsingKeyFrames Storyboard.Targ
阅读全文
摘要:布局和常用Panel学习 一、简介 所有的WPF布局容器都派生自System.Windows.Controls.Panel。Panel继承自FrameworkElement。 在Panel中有一个比较重要的属性是UIElementCollection 类型的Children属性,UIElementC
阅读全文
摘要:文件非占用读取 非占用方式: FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete); StreamReader sr = new
阅读全文
摘要:WPF项目如何在设计界面添加后台代码 一、简介 如下面代码所示,在WPF项目的设计界面可以通过<x:Code> <![CDATA[ //write your code ]]></x:Code>节点,可添加后台逻辑执行的代码和方法,实现方法的调用和执行。 二、代码 WPF设计部分代码: <Window
阅读全文
摘要:C#实现将网址生成二维码图片 using System; using System.Drawing; using System.Text; using ThoughtWorks.QRCode.Codec; namespace ConsoleTest { public class Test { #re
阅读全文
摘要:Bingding学习 一、简介 WPF的核心理念是变传统的UI驱动数据变成数据驱动UI,支撑这个理念的基础就是本章讲的Data Binding和与之相关的数据校验和数据转换。在使用Binding的时候,最重要的就是设置它的源和路径。Bingding的源:有三个属性用来设置源:ElementName(
阅读全文
摘要:WPF入门教程——创建WPF项目 一、简介 WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它
阅读全文
摘要:C#实现DataTable行列转置 一、代码 public static DataTable RevertRowToColumn(DataTable sourcedt) { DataTable dt = new DataTable(); //转换后的第一列名,以后此列每行存放sourcedt对应对应
阅读全文
摘要:VBS整蛊代码 一、微信聊天轰炸 Set WshShell = WScript.CreateObject("WScript.Shell") '微信通讯录备注的联系人名称 WshShell.AppActivate"小明" '轰炸次数 for i= 1 to 10 '每次信息发送间隔时间,1000毫秒为
阅读全文
摘要:Task.WhenAll和Task.WhenAny 一、简介 Task.WhenAll()、Task.WhenAny()这两个与Task.WaitALL()、Task.WaitAny()是有区别的,When是异步的,Wait是同步的。Task.WhenAll():所有提供的任务已完成时,创建将完成的
阅读全文
摘要:Task.WaitAll和Task.WaitAny 一、简介 Task.WaitAll:等待所有提供的 Task 对象完成执行过程。Task.WaitAny:等待提供的任一 Task 对象完成执行过程。 二、代码案例 Task.WaitAll 代码: class Program { public c
阅读全文
摘要:CancellationTokenSource 一、代码案例 代码: class Program { private static int TaskMethod(string name, int seconds, CancellationToken token) { Console.WriteLin
阅读全文
摘要:组合ContinueWith 一、代码案例 简单Demo 代码: public static void Main() { //创建一个任务 Task<int> task = new Task<int>(() => { int sum = 0; Console.WriteLine("使用Task異步執
阅读全文
摘要:Task类学习教程—ContinueWith 一、简介 通过任务,可以指定在任务完成之后,应开始运行之后另一个特定任务。ContinueWith是Task根据其自身状况,决定后续应该作何操作。也就是说,在运行完task后,会执行task.continuewith(XX)中的XX语句,但是是否执行、如
阅读全文
摘要:C#中的Task.Delay()和Thread.Sleep()区别 一、简介 1.Thread.Sleep()是同步延迟,Task.Delay()是异步延迟。2.Thread.Sleep()会阻塞线程,Task.Delay()不会。3.Thread.Sleep()不能取消,Task.Delay()可
阅读全文
摘要:Task类学习教程—Task的创建方式 一、简介 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便。比如:Task支持线程的取消、完成、失败通知等交互性操作,但是ThreadPool不支持;Task支持线程执行的先后次序,但是ThreadPo
阅读全文
摘要:关于程式刚刚打开时候出现长时间等待解决方案 1.在程式初始化时,WebDataSource绑定InfoCommand中的SQL查询时,调用SetWhere("1=0")方法,让程式刚刚载入时不查询数据。 if (!IsPostBack) { InitializeComponent(); wdsR_Q
阅读全文
摘要:C#调用数据库中的Procedure的方法 public ExecutionResult CreateWIPSN(MOBaseInfo moBaseInfo) { ExecutionResult execRes; string sqlText; //private InfoLightDBTools
阅读全文
摘要:常用正则表达判别式 代码: //验证电话号码 public bool IsTelephone(string str_telephone) { return System.Text.RegularExpressions. Regex.IsMatch(str_telephone, @"^(\d{3,4}
阅读全文
摘要:C#正则表达式 一、简介 正则表达式 是一种匹配输入文本的模式,.Net 框架提供了允许这种匹配的正则表达式引擎,模式由一个或多个字符、运算符和结构组成。下面列出了用于定义正则表达式的各种类别的常用字符、运算符和结构。 字符转义: 正则表达式中的反斜杠字符(\)指示其后跟的字符是特殊字符,或应按原义
阅读全文
摘要:文件以及文件夹帮助类(FileHelper) 代码: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threadi
阅读全文
摘要:C#常用正则表达式符号大全 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-
阅读全文
摘要:静态方法 一、简介 使用了static 修饰符的方法为静态方法,反之则是非静态方法。 静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例,而是属于类本身。所以对静态方法不需要首先创建一个类的实例,而是采用类名.静态方法的格式 。除此之外,静态方法和非静态方法有如下区别: 1.静态方法不需要类
阅读全文
摘要:可选参数与命名参数 一、简介 设计方法的参数是,可以将部分参数和全部参数分配默认值,然后调用这些方法的时候可以选择不提供部分实参,使用参数定义的默认值,另外,还可以在调用方法的时候通过指定参数名称来传递实参。 二、代码案例 class Program { private static int s =
阅读全文
摘要:C#中的虚方法Virtual 一、简介 虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判
阅读全文
摘要:连接数据库与执行SQL语句 public void Test1() { string strConn = "Data Source=.;Initial Catalog=HISDB;Integrated Security=True"; using (SqlConnection conn = new S
阅读全文
摘要:C#中类和接口的区别 一、抽象类 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则
阅读全文
摘要:LINQ基础—Distinct子句 一、简介 Distinct返回的序列包含输入序列的唯一元素,该语句是单个集合操作。 二、案例 List<int> list = new List<int>() {1,2,3,3,3}; var result = list.Distinct(); Result的结果
阅读全文
摘要:LINQ基础—Except子句 一、简介 Except返回差集,差集是指位于一个集合但不位于另一个集合的元素。Except是把第一个集合里面的数据 去掉在第二个集合里面出现过的数据。 二、案例 案例一: var q = (from c in db.Customers select c.Name ).
阅读全文
摘要:LINQ基础—Intersect子句 一、简介 Intersect返回交集,交集是指同时出现在两个集合中的元素,和数据库中的Intersect方法实现功能一样。 二、案例 var q = (from c in db.Customers select c.Age ).Intersect( from e
阅读全文
摘要:LINQ基础—UNION子句 一、简介 Union返回并集,并集是指位于两个集合中任一集合的唯一的元素(自动去重复了)。在LINQ中UNION默认是去重的,没有UNION ALL 语句,不去重用CONCAT()。 二、案例 1.查询语句写法 Union会去除重复项,相当于SQL的Union var
阅读全文
摘要:LINQ基础—Join子句 一、简介 使用join子句可以将来自不同源序列并且在对象模型中没有直接关系的元素相关联,唯一的要求是每个源中的元素需要共享某个可以进行比较以判断是否相等的值,join子句使用特殊的equals关键字比较指定的键是否相等。 二、案例 内部连接 var innerJoinQu
阅读全文
摘要:LINQ基础—GroupBy子句 一、简介 group子句返回一个IGrouping(T Key,T element)对象序列,编译时,group子句被转换成对GroupBy方法的调用。 二、案例 案例一: 根据首字母分组,并打印到控制台 //数据源 string[] fruits = { "app
阅读全文
摘要:LINQ基础—OrderBy子句 一、简介 适用场景:对查询出的语句进行排序,比如按时间排序等等。说明:按指定表达式对集合排序;默认是升序,加上descending表示降序,对应的扩展方法是OrderBy和OrderByDescending。1.对查询出来的结果集进行升序或降序排列。2.可以指定多个
阅读全文
摘要:LINQ基础——WHERE子句 一、简介 将一个布尔条件("谓词")应用于每个源元素(由范围变量引用),并返回满足指定条件的元素。适用场景:实现过滤,查询等功能。说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。Where操作包括3种形式,分
阅读全文
摘要:LINQ基础——LET子句 一、简介 用于创建查询自身的范围变量,let语句是重命名。let位于第一个from和select语句之间。 二、案例 案例一: 将字符串数组中的两句英文语句中所有的元音字母打头的单词输出到控制台 string[] strings ={ "I am a new Studen
阅读全文
摘要:LINQ基础——FROM子句 一、简单FROM子句 获取数据源: var queryAllCustomers = from cust in Customers select cust; 分析: 查询表达式必须以from子句开头例子中cust是范围变量,范围变量类似于foreach循环中的迭代变量,但
阅读全文

浙公网安备 33010602011771号