03 2018 档案
摘要:Console.WriteLine("***********************************************"); { //1.0获取方法 MethodInfo method = typeof(string).GetMethod("Substring"...
阅读全文
摘要:extern alias outer;//必须位于所有的 using 前面 using System; using FourPerson = 第四章; using SevenPerson = 第七章._1; class Person { public int Gid { get; set; } } namespace 第七章._1 { class Progra...
阅读全文
摘要:捕获变量:捕获的是变量,而不是创建委托实例时它的值!!!! 1.捕获外部变量 运行结果如下: 首先,count 相对于匿名方法来说,是一个外部变量, 同时,方法内部定义的值类型是存储在栈上的,因此 count 是存储在栈上的, 那为什么在 MethodInvoker() 方法运行完之后, count
阅读全文
摘要:public class AppSettingsConfig { /// ////// public static int QueryKeyCodeUserInfoTimespan => Convert.ToInt32(AppSettingValue()); /// ////// ...
阅读全文
摘要:class Program { static void Main(string[] args) { /* * 不管是显示还是隐式转换,一种类型都只能出现一次 */ Console.WriteLine("*******************...
阅读全文
摘要:聊一聊C#的Equals()和GetHashCode()方法 博客创建一年多,还是第一次写博文,有什么不对的地方还请多多指教。 关于这次写的内容可以说是老生长谈,百度一搜一大堆。大神可自行绕路。 最近在看Jeffrey Richter的CLR Via C#,在看到GetHashCode()方法的时候
阅读全文
摘要:协变:派生类=>基类 假设有这样一个类: 但是由于我们知道是返回一个Person类的实例,所以返回类型 object 写在这里总会觉得很别扭,我们希望写成: 显然,这是错的!虽然这是错的,但这就是返回类型的协变性,只是非泛型接口和方法重载不支持这一特性. 如果一定要这样写,只能使用显示接口实现: 如
阅读全文
摘要:普通方法构造表达式树 利用Lambda表达式构造表达式树 将表达式树转换成可执行代码
阅读全文
摘要:Nullable<T> 内部实现了显示和隐式转换 显示转换: Nullable<int> nullable = new Nullable<int>(10); int x = (int)nullable; 隐式转换: Nullable<int> i = 100; 装箱拆箱:
阅读全文
摘要:值传递 传递的是变量在堆栈上的值的副本 值类型在堆栈上存的就是实际的值, 引用类型在堆栈上存的是一个地址,这个地址就是该引用类型在托管堆上存放的实际的值的地址 以修改文件为例, 值类型的值传递,就好比先复制一份该文件,然后再对复制后的文件进行修改 引用类型的值传递,就好比传递的是快捷方式的副本,然后
阅读全文
摘要:1.class 是引用类型, struct 是值类型 2.定义类用 class,定义结构体用 struct 3.结构体中,不能对字段或者属性进行初始化 4.class有默认的无参数的构造函数,但如果显示的定义了一个构造函数,编译器就不会再自动生成隐式的无参数的构造函数了;而struct,无论你是否显
阅读全文
摘要:class Program { static void Main(string[] args) { Complex c1 = new Complex(1, 2); Complex c2 = new Complex(3, 4); Complex c3 = c1 + c2;...
阅读全文
摘要:引言: 在C# 1.0中我们经常使用foreach来遍历一个集合中的元素,然而一个类型要能够使用foreach关键字来对其进行遍历必须实现IEnumerable或IEnumerable<T>接口,(之所以必须要实现IEnumerable这个接口,是因为foreach是迭代语句,要使用foreach必
阅读全文
摘要:后台接收:
阅读全文
摘要:网页中一张图片可以这样显示: <img src=“http://www.letuknowit.com/images/wg.png”/>也可以这样显示:<img src=“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFA
阅读全文
摘要:服务端接收文件流代码: 客户端上传文件流代码: HttpClient HttpWebRequest 前端上传文件: 上面三种方式,客户端没有问题,但是前端这样上传是有问题的,因为在文件流开头还有其他东西: 用一段代码测试: 这就是HTTP请求自带的,打开浏览器,F12,可以看到: 那么,如何成功的躲
阅读全文
摘要:方法一:利用 FormData JS: HTML: 方法二:原生Form表单提交 后台 Web Api 接收
阅读全文
摘要:enctype 属性一共有3个值 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 上传二进制数据, 所以在使用包含文件上传控件的表单时,必须使用该值。当然,不传文件,也可以用该值 text/plain 纯文本传
阅读全文
摘要:string fileType = string.Empty; string path = @"C:\Users\xxxx\Desktop\woman.jpg"; using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read)) ...
阅读全文
摘要:我们经常会遇到所谓的URL编码(也叫百分号编码)和Base64编码。 先说一下Bsae64编码。BASE64编码是一种常用的将二进制数据转换为64个可打印字符的编码,常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。例如邮件系统的MIME协议等。这个协议的用途,是确保接收方在只能识别可
阅读全文
摘要:/// /// GZipHelper /// public class GZipHelper { /// /// 将传入字符串以GZip算法压缩后,返回Base64编码字符 /// /// 需要压缩的字符串 /// /// 压缩后的Base64编码的字符串 /// public static s...
阅读全文
摘要:补充: 如果API 返回的是 400,比如: return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "没有文件耶,哥们!"); 那么 var response = request.GetResponse(); 这句话直接会抛出异常
阅读全文
摘要:string path = @"C:\Users\Administrator\Desktop\1.txt"; using (FileStream ws = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write)) { ...
阅读全文
摘要:最原始的方式: 前端代码: 后台代码: 利用FormData上传单个文件 前端代码: 利用FormData上传多个文件 前端代码: 分片上传 前端代码: 后台代码:
阅读全文
摘要:(转网上一段话) Web程序天生就是多线程的,且web线程都是跑的线程池线程(使用线程池线程是为了避免不断创建、销毁线程所造成的资源成本浪费),而线程池线程可使用线程数量是一定的,尽管可以设置,但它还是会在一定范围内。如此一来,我们web线程是珍贵的(物以稀为贵),不能滥用。用完了,那么其他用户请求
阅读全文

浙公网安备 33010602011771号