C# 获取 sha256 码

用 C# 获取 sha256, 输入源可以是 字符串类型,也可以是 字节流类型: 实现方式如下: 自定义的输入类型的枚举: public enum Sha26ParseType { StringType,//字符串类型 StreamType//字节流类型 } 实现代码: public static string general_sha256_code(string str, Sha26ParseType type) { string result = string.Empty; byte[] by = null; //求字节流的SHA256 if (type.Equals(Sha26ParseType.StreamType)) { if (!System.IO.File.Exists(str)) return result; System.IO.FileStream stream = new System.IO.FileStream(str, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.Security.Cryptography.SHA256Managed Sha256 = new System.Security.Cryptography.SHA256Managed(); by = […]

WPF Grid 根据内容自适应

WPF Grid 根据内容自适应, 为了能让 Grid 的行和列根据内容自动适应可以通过设置来实现: Grid 表格布局,默认是平均分配,为了便于观察,通过设置 ShowGridLine 显示分界线如下: 行 Row 可以设置行高 Height;列 Column 可以设置列宽 Width; Grid 中 RowDefinition 的 Height 和 ColumnDefinition 的 Width 可以通过以下几种方式来设置: 使用具体数值,固定不变;设置第一行行高为 40,效果如下,第一行的高度就固定为 40 不变了。除非界面的内容固定不变,一般不建议直接使用具体数值。  2. 按比例划分,使用 * 星号, 分配的规则是,把所有的数字相加作为分母,每一个单独的数字作为分子,算出比例,如: 2*,5*,8*; 分母为(2+5+8=15),分子则是(2/15、5/15、8/15): 此时只是比例固定不变,如果界面尺寸变化,对应的内容部分就会变大。   3. 设置为 Auto,根据内容自适应; 只有行设置为 Auto,设置为 Auto 的行高为当前行内容最高的高度,剩下没有设置 Auto 的平均分配剩余的高度,如下: 默认的平均分配 第一行设置 Height = “Auto” 后,如下: […]

WPF使用Path来画圆

WPF使用Path来画圆, 在 WPF 中可以使用 Path (路径) 来画圆,而 Path 支持两种写法:xaml 代码格式、标记格式,这里介绍的是标记格式: 例子: 效果: 结合代码解释:1. Stroke 表示圆边框的颜色,这里是黑色 black 2. StrokeThickness 表示边框粗细 3. Fill 表示圆内部的颜色,这里为蓝色 blue 4. Path 的 Data 属性,就是描述当前路径是如何描画的 Data=”M 300,300 A 100,100 0 1 1 300,299 Z”            M 300,300  : 300,300 表示起始坐标,字母 M 为 Move, 意思是将画笔移到 300,300 处;     […]

C# 控制台程序运行完毕保留窗口

简单的控制台程序,例子如下: 启动程序时,程序就会一闪而过,为了解决这个问题,只需要让控制台继续等待输入即可,也就是让控制台保持读取的状态,如: 只需要调用 Console 与 Read 相关的方法,这里有三个:Read()、ReadKey()、ReadLine() 随便调用一个就可以实现我们的需求, 结果:执行上述任何一段代码都能得到以下结果 相关内容:C#控制台程序,运行完窗口不退出的方法 推荐阅读:C# 获取指定目录下的文件

WPF 使用日期选择器控件 DatePicker

WPF 使用日期选择器控件 DatePicker, 为了能更方面的选择日期,在 .net 4.0 之后,WPF 中提供了相应的控件,显示效果如下:  对应的代码如下: 外层使用 StackPancel 进行布局,水平显示;使用一个 TextBlock 显示 “Choose Date:”;使用一个 TextBox 来显示选择 DatePicker 中的日期;使用一个 DatePicker 核心代码是将 TextBox 的 Text 属性绑定 DatePicker 的 SelectedDate 属性: 点击 DatePicker 控件,显示如下,可以根据需求随意选择日期 默认的显示格式如下:       注意,DatePicker 只能选择日期,而不包含时间部分,如果需要格式化日期的显示,可以通过设置 TextBox 的 StringFormat 属性,如: 而且 DatePicker 也有 SelectedDateChanged 事件,可以在后台代码中使用 SelectedDate 属性, 示例代码如下:注意:SelectDate 属性为 DateTime? 类型(可为空的DateTime类型)既可以获取当前选择的时间,也可以为它赋值 指定日期区间,可以通过 […]

C#中Equals()方法不区分大小写

C#中Equals()方法不区分大小写, 判断字符串时,经常需要判断两个字符串是否相等,而且有时需要忽略大小写 普通的 Equals() 如果需要忽略大小写,可以通过调用 Equals 的重载方法,如下: //参数说明,StringComparsion 类,枚举类型,定义了字符串对比的方式,详细定义如下: 顺便一提,在 java 中是这样处理的: 参考: Comparing two strings, ignoring case in C# [duplicate]C# String Equals Method 推荐阅读: C# 获取指定目录下的文件

C# 保存 String 到文件

C# 保存 string 到文件方法有很多,这里介绍比较简单的一种,通过 StreamWriter 类来实现,该类所在的命名空间是 System.IO C# 保存 string 到文件的简单用法 需要提供两个参数,一个是保存的文件路径,另一个就是 string 的内容: 实现可追加内容 前面那个例子,每次写入的内容都会覆盖上一次的内容,所以为了实现内容可追加,如下: 通过查看方法的定义,可以看到 StreamWriter 的构造方法有多个重置,而第二个参数就是用于实现是否可追加内容的: 结果如下: 更多用法请直接参考: StreamWriter Class