随笔分类 - C# 随记
摘要:两个可空类型的逻辑运算比真真底层的逻辑运算的要稍微复杂一点,因为 运算结果可能有 true,false,null三中结果,观看真值表可发现 要是 我们 给 这三个 值 赋予一个 权重问题就好理解多了,true》null》false,这样的话‘|’取权重 大的,‘&’取权重小的如:ture|null -->truefalse|null--->nulltrue&null--->nullfalse&null--->false
        阅读全文
            
摘要:一下内容全部为自己的理解,不一定正确。委托的协变和逆变理解起来真是有点绕,总的来说从委托的声明到执行就是一个投入和产出的过程。委托声明就不说了,想想执行吧。委托执行的时候 , 传入的参数列表的值为投入的东西,而返回值就是 产出的东西,结合 基类和派生的关系,派生类可自动转换为基类,这样的话,在参数列表传递(参数列表的类型就是委托指定的,)给方法的时候可以转化为这些参数的基类(方法中定义基类参数可实现自动转化),所以委托的参数类型可定义为派生类。这就是委托的》》逆变在方法 返回值的时候,同样,最终返回的是基类,也就是在返回值的过程中可实现一个 派生类到基类的自动转换过程,定义方法的时候返回值为派
        阅读全文
            
摘要:.net 中存在3中流的的形式1.字节流 。基类抽象类:stream ,派生类:BufferedStream 、FileStream、MemoryStream,UnManagedMemoryStream2.字符流。(对字节流的封装)基类抽象类:TextReader、TextWriter,派生类:StreamReader,StreamWriter ,StringReader,StringWriter3.二进制流。binaryReader,BindaryWriter
        阅读全文
            
摘要:1.类。结构在使用的时候可以不调用构造函数,如果能够继承类,这种情况下不能够初始化基类,因为不执行构造函数2.结构。所有的结构类型都默认是 sealed,通过 反汇编可以看到 ,这就阻止了结构被继承,反过来说也就相当于结构不能继承结构
        阅读全文
            
摘要:以前一直以为 B继承自A的话 他自身会复制一份 A的成员,今天才理解到他们两个是共用成员的,话不多说 上 代码 public class A { public int Num { get; set; } public A(int a) { this.Num = a * 100; } public void Test() { Console.WriteLine(this.Num); } } public class B : A { ...
        阅读全文
            
摘要:1.一元、二元 这个不要说了可以是自定义类自由运算 2.关系运算符,可以使自定义类参与比较(必须成对重载) 3.重载true,false(必须成对重载)可以让自定义类具有bool的一些特性,如用于if switch 等控制 4.逻辑运算符重载(只能重载“&|!”,但是在使用是可以使用&&||,当然有一些注意点。。。。。。)&&||注意点:1.重载&|,2.true,false重载3.&|返回类型为自定义类(返回的对象的值可以对应到重载true,false的对象值)4.参数类型必须是自定义的类符合以上四点即可使用&& ||
        阅读全文
            
摘要:以前一直以为 方法重载中的参数列表不同表示的是参数类型不同,才发现自己 错了,参数列表不同代表的只要其中有一个参数位置的参数类型不同即可如:publicintx(inta,stringb){return5;}publicintx(stringb,inta){return6;}上面两个即可被认为是方法重载了
        阅读全文
            
摘要:项目中 遇到这个错误,找了下原因,猜测是 集合本身的限制,而不是像很多网上说的是foreach的原因,像 dictionary 集成自IReadOnlyDictionary,IReadOnlyCollection>,等等。
        阅读全文
            
摘要:float、double不能自动 转为decimal有符号类型 不能自动转为无符号取值范围大的不能自动转为范围小的
        阅读全文
            
摘要:在项目中对于自定义类型求交集时,可以使用list1.Intersect(list2,newEqualityComparer())EqualityComparer为自定义比较器,其中实现 equal 和gethashcode方法,注意: 在比较过程中当equal返回true时 比较对象的gethashcode返回值,因为Intersect为延迟执行,所以在使用使最好Intersect(....).ToList/ToArray之类的一下才能是Intersect执行参考:http://msdn.microsoft.com/zh-cn/library/bb355408(v=vs.110).aspx同样
        阅读全文
            
摘要:由于.net 平台不提供判断是否为同一周的Api,自己写了一个public static bool IsSameWeek(DateTime dt1, DateTime dt2) { TimeSpan ts = (dt1 - dt2).Duration();//return(ts.TotalDays0?(dt1.DayOfWeek>=dt2.DayOfWeek):(dt2.DayOfWeek>=dt1.DayOfWeek)));return !(ts.TotalDays >= 7 || (DateTime.Compare(dt1, dt2) > 0 ? (dt...
        阅读全文
            
 
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号