C# 底层
qgbooooo
10年 开发经验,熟悉windows Linux
展开
-
Expression封装
Expression封装为 根据 Iqueryable,字段名,判断内容,得到包含的Iqueryable /// /// 泛型查找 /// /// queryable对象,包含数据 /// 字段或属性名 /// 属性或字段相比较的值 public static IQuerya原创 2017-12-21 19:40:24 · 467 阅读 · 0 评论 -
备忘newday_lesson
<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection原创 2018-09-10 13:49:17 · 164 阅读 · 0 评论 -
winform调用WCF 通信(一)
之前有做桌面调用tcp/ udp 通信的软件,现在用wcf 实现一遍先用简单的实现通信。用什么协议都行。先用默认的 http(不合常规)1. 建2个winform项目:server,client,一个wcf lib项目全是默认,现在还没写代码。2.wcf lib的GetData()方法改为 public int GetData(int value) { ...原创 2018-09-19 17:46:36 · 2621 阅读 · 1 评论 -
asp.net mvc 替换默认controller 工厂
1. 在网站启动的时候执行这句话ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory());这个在下面定义public class MyControllerFactory : DefaultControllerFactory{ /// <summary> /// i...原创 2018-10-17 22:52:20 · 650 阅读 · 0 评论 -
asp.net Http协议的理解
常用的请求发送会分几种:请求页面,下载文件,ajax 请求数据.刷新页面一般用超链接发送给服务器,action 执行完,返回。下载文件,也用超链接,到了action ,把数据写入response中,即可。那么就是说,浏览器的返回结果,决定了是刷新页面还是下载文件(区分在于Header的标志)。那么ajax 请求如果到一个下载文件的action, 它会下载一个文件吗?测试结果是不...原创 2018-10-18 10:38:58 · 385 阅读 · 0 评论 -
C# 值类型和引用类型
结构是隐式从 System.ValueType 派生的值类型,后者则是从 System.Object派生的。C#的数据类型有值类型和引用类型,没别的类型了。这是他们的存储方式决定的,只有存在栈上的,和存在栈上引用堆上的这两种。int 也是struct : public struct Int32 。1.这样写报错: ...原创 2018-10-19 20:40:19 · 123 阅读 · 0 评论 -
asp.net mvc widows验证
asp.net mvc widows验证的程序的cs.html 中有@user可以读取用户名等信息这是在管道模型的AuthenticationModule中做了准备的。这个module有如下代码:public void Init(HttpApplication app) { if (!FormsAuthenticationModule._fAuthChecked) { ...原创 2018-10-24 10:23:49 · 441 阅读 · 0 评论 -
asp.net 管道
新建mvc 项目,建立authorizationFilter: public class MyAuthorizationAttribute : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { ...原创 2018-10-24 21:08:08 · 534 阅读 · 0 评论 -
C# 之 pravite
pravite 只能内部访问。就是这样修饰的变量只能在这个类的代码中看到。这就像我干了个私有的属性,谁也不让看到。外人看到我光鲜的外部,看不到内心。如果把构造函数私有化,那么外部也就不能调用,是单例的手段...原创 2018-11-10 16:03:49 · 797 阅读 · 0 评论 -
一些命令
需要查看密码的话,则需要输入这个命令,netsh wlan show profile name=”需要查询的密码的wifi名字” key=clear,这样子就会在关键内容那边显示密码了原创 2018-12-24 09:03:06 · 126 阅读 · 0 评论 -
快速排序和二叉树排序
快速排序,是把数据分为两堆,递归下去。既然是分成2堆,那么,就于二叉树有关系了,都是2!其实二者的思想是一样的。二叉树把数据拆分的思路,比直接讲快速排序更容易理解。最终二叉树遍历用中序遍历,就取出排序结果。...原创 2019-03-09 14:11:04 · 2986 阅读 · 0 评论 -
C# 闭包
private static Action myDelegate(){int c = 0;return delegate{c++;Console.WriteLine(c);};}private static void Main(str...原创 2019-03-11 09:28:55 · 153 阅读 · 0 评论 -
WCF 最简单实践
1.新建VS2017 控制台程序,添加项:wcf 服务把Iservice1.cs 写成这样: [ServiceContract] public interface IService1 { [OperationContract] int DoWork(); }在 service1.cs 的实现中返回个2:namespace WCF{ ...原创 2018-07-13 18:51:02 · 303 阅读 · 0 评论 -
C# 的timer 与线程
有一次面试,面试官说卡顿怎么处理,我说多线程。多线程比timer好读。面试官说,开很多线程好吗?我说开timer好吗?timer实际上还是线程。好了,现在看看timer和线程的关系。timer有3种1.winform 下的timer。就是拖控件到UI上的那个timer. 源文件在这个路径下C:\Windows\Microsoft.NET\Framework64\v4.0.30319namesp...原创 2018-05-08 10:06:21 · 7357 阅读 · 0 评论 -
C# 事件是委托吗?
经常会问事件是委托吗?贸然的回答:是特殊的委托是有问题的.首先看什么是委托:internal static class Program{ private delegate void de(); [STAThread] private static void Main() { Console.WriteLine("*************####...原创 2018-04-21 22:54:09 · 777 阅读 · 0 评论 -
Asp.net 特性
MVC中经常会用到这样的话:@Html.DisplayNameFor(model => model.OpenId)这会把这个属性的名称显示出来。但是如果想显示别的名称呢?就要在属性上加上 [Display(Description= "昵称")] 。解析一下原理,看一下源码: public static MvcHtmlString DisplayNameFor原创 2018-01-21 21:17:22 · 869 阅读 · 0 评论 -
asp.net 路由
webapi路由大概这个样子config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.原创 2018-01-06 11:38:29 · 464 阅读 · 0 评论 -
C# 委托事件
delegate 是关键字,语法糖而已。声明的东西,实际上是定义了一个类,比如Action 就是一个类,这个类和Object 一样的使用,可以作为参数传递等;这个类继承了MutilDelegate,MutilDelegate继承Delegate,他们都是abstarct 类。这个类有3个方法:Invoke BeginInvoke EndInvoke. 他们是编译器生成的,因原创 2018-01-30 17:54:40 · 140 阅读 · 0 评论 -
C# NameValueCollection
NameValueCollection nc = new NameValueCollection(); nc.Add("key1","val1"); nc.Add("key1", "val2"); nc.Add("key1", "val3"); var vv= nc.GetValues("原创 2018-01-26 14:58:18 · 557 阅读 · 0 评论 -
C# 接口的继承
C#中,类继承接口,和接口继承接口不同 public interface BaseInrterface { void BaseMethod(); }//类的继承:class BaseClass : BaseInrterface { public void BaseMethod(){ }//必须显示实现接口的方法 } //接口的继承: ...原创 2018-01-28 11:09:48 · 388 阅读 · 0 评论 -
Asp.net MVC 编译
改动过cshml 文件之后,编译不通过。Chorme 可以查看编译细节信息。“/”应用程序中的服务器错误。编译错误说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS1002: ; expected源错误: 行 37: <span class="selecDate">行 38: ...原创 2018-02-10 12:06:19 · 816 阅读 · 0 评论 -
MSIL
C# 接口接口实际上就是抽象类,因为在编译IL后为抽象类// ConsoleApp1.ITestpublic interface ITest{string Name{get;set;}void OnClick();}-------------------------------------------.class interface pu原创 2018-02-07 11:15:16 · 569 阅读 · 0 评论 -
DMI的控制反转实现
IOC(控制反转)是设计原则,区别于代码写死流程和依赖的设计。对于面向过程的编程,就是像河流一样的写法,控制就是整个程序的执行过程。而对于面向对象的编程,这里的控制是流程的控制,控制也是功能模块。这里只说面向对象的编程。DMI的模块分为:启动,行车,菜单操作。启动和行车模块,每个车都不相同。IOC要求,框架控制流程,而细节交给外部。这样启动和菜单,每个机型一个dll,主框架在配置文件中配置启动和菜...原创 2018-03-30 16:30:34 · 839 阅读 · 0 评论 -
yield 迭代器
// 定义数据源 int[] scores = new int[] { 97, 92, 81, 60 }; // 定义查询语句 IEnumerable scoreQuery = scores.Where(o=>o>80); //from score in scores where score > 80 selec...原创 2018-03-28 15:35:25 · 133 阅读 · 0 评论 -
IEnumable 之cast
IEnumerable<XML_station> ie = StationPanel.Controls.Cast<XML_station>().Reverse();StationPanel.Controls这个是容器的控件集合,都是XML_station类型,要把这个集合的控件倒序。StationPanel.Controls.Reverse() 是不存在的。只能用...原创 2018-04-16 17:50:01 · 335 阅读 · 0 评论 -
IQueryable 和 IEnumable
public class student { public string Name { get; set; } public int Id { get; set; } } var st = new List<student>(); var result= st.Where(t=>t.Id>2);这里的result 是IEnumable<student&...原创 2018-04-11 15:27:07 · 1163 阅读 · 1 评论 -
String的内存分配
String s = "abc";创建了几个字符串对象?数据类型分为两类,值类型和引用类型。内存分为栈空间和堆空间。栈空间存放值类型数据和堆空间的引用地址,堆空间则存放引用类型的数据。string 型是特殊的引用类型,所以这里创建了一个string型的对象,在名为str的栈空间中存放了真正存放“abc”的堆空间地址。 static void Main() { ...原创 2018-04-21 22:33:36 · 749 阅读 · 0 评论 -
熵
计算 2点分布,0.1,0.9的熵-H(X)=0.1 * log(0.1) + 0.9 * log(0.9)=-(0.1* log10 +0.9*log(10)-0.9* log(9))= - (log(10)-0.9*log9)=-(3.3219280948873626-0.9 *3.1699250014423126)=-0.46899559358928133...原创 2019-04-12 16:22:52 · 313 阅读 · 0 评论