当前位置: 代码迷 >> 综合
 解决方案列表
  • [综合] LINQ(6)——LINQ常用扩展方法

    下面的方法都是IEnumerable<T>的扩展方法: Average计算平均值; Min最小元素; Max最大元素; Sum元素总和; Count元素数量; Concat连接两个序列;//Unoinall Contains序列是否包含指定元素; Distinct取得序列中的非重复元素...

    25
    热度
  • [综合] LINQ(7)——Lambda表达式(2)——LINQ常用lambda扩展方法

    1.以where为例。 2.linq的用法最终是编译成lambda用法。

    49
    热度
  • [综合] 正则表达式(6)——正则表达式前奏:地狱

    先来看几个例子,如果用一般的方法(非正则表达式方法)解决如下几个问题,难度会非常大。 需求1:“192.168.10.5[port=8080]”,这个字符串表示IP地址为192.168.10.5的服务器的8080端口是打开的,请用程序解析此字符串,然后打印出“IP地址为***的服务器的***端口是打...

    106
    热度
  • [综合] 正则表达式(7)——正则表达式入门:天堂

    1.正则表达式是用来进行文本处理的技术,是语言无关的,在几乎所有语言中都有实现。javascript也会用到。 2.一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配...

    40
    热度
  • [综合] 正则表达式(8)——元字符

    1、要想学会正则表达式,理解元字符是一个必须攻克的难关。不用刻意记。 2、.:匹配任何单个字符。例如正则表达式“b.g”能匹配如下字符串:“big”、“bug”、“bg”,但是不匹配“buug”,“b..g”可以匹配“buug”。 3、[]:匹配括号中的任何一个字符。例如正则表达式“b[aui]g”...

    12
    热度
  • [综合] 正则表达式(9)——简写表达式

    1、正则表达式是与语言无关,真的就是想表达\d。 2、注意这些简写表达式是不考虑转义符的,这里的\就表示字符\,而不是C#字符串级别的\,在C#代码中需要使用@或者\双重转义。区分C#级别的转义和正则表达式级别的转义,恰好C#的转义符和正则表达式的转义符都是\而已。正则表达式的转义是在C#之后的(层...

    105
    热度
  • [综合] 正则表达式(10)——.Net中的正则表达式

    1、正则表达式在.Net就是用字符串表示,这个字符串格式比较特殊,无论多么特殊,在C#语言看来都是普通的字符串,具体什么含义由Regex类内部进行语法分析。 2、正则表达式(RegularExpression正规的表达式)的主要类:Regex.IsMatch方法用于判断一个字符串是否匹配正则表达式。...

    14
    热度
  • [综合] 正则表达式(11)——字符串匹配案例

    案例1:判断是否是合法的邮政编码(6位数字) 写法一:Regex.IsMatch("100830","^[0-9]{6}$");//匹配结果是true 写法二:Regex.IsMatch("119",@"^\d{6}$");//匹配结果是flase 解释:由元字符定义得知"[0-9]"表示0到9的任...

    40
    热度
  • [综合] 正则表达式(13)——字符串提取

    正则表达式还可以用来进行字符串提取。 Matchmatch=Regex.Match("age=30",@"^(.+)=(.+)$"); if(match.Success) {Console.WriteLine(match.Groups[1].Value);Console.WriteLine(matc...

    104
    热度
  • [综合] 正则表达式(14)——字符串提取练习

    练习一:从“June26,2019”中提取出月份June来。月份和日之间是必须要有空格分割的,所以使用空白符号“\s”匹配所有的空白字符,此处的空格是必须有的,所以使用“+”标识为匹配1至多个空格。之后的“,”与年份之间的空格是可有可无的,所以使用“*”表示为匹配0至多个。@"([a-zA-Z]+)...

    29
    热度
  • [综合] 正则表达式(15)——贪婪模式与非贪婪模式

    从文本提取出名字: Matchmatch=Regex.Match("大家好。我是S.H.E。我22岁了。我病了,呜呜。fffff","我是(.+)。");//没有加^$。 看结果。+、*的匹配默认是贪婪(greedy)的:尽可能多的匹配,直到“再贪婪一点儿”其后的匹配模式就没法匹配为止。 在+、*后...

    104
    热度
  • [综合] 内存管理(1)——GC(1)——垃圾收集概述

    1、大排档和学校食堂。一个是别人帮你收拾盘子,一个是自己收拾盘子。 2、垃圾收集GC(GarbageCollection)。内存的分配、回收不需要程序员操心,程序员只要需要的时候new就可以,用完了不用管,有人帮你清除不用的内存。这个人就是“垃圾收集器”。.Net程序员一般不用像C++程序员那样处理...

    70
    热度
  • [综合] 内存管理(2)——GC(2)——GC其他说明

    1、不会再被使用的内存(对象)就是垃圾。 2、对象可以被回收不一定会立即回收,GC就像清洁工,不是有了垃圾就去清扫,否则GC累,而且清扫垃圾就影响系统的正常工作。服务员收盘子的时候都会影响旁边的人吃饭。频繁的GC(垃圾回收)造成系统性能下降,不是有了垃圾就清理。垃圾收集器会找一个合适的时机去回收。 ...

    74
    热度
  • [综合] 内存管理(3)——GC(3)——性能调优

    1、使用性能调试工具:CLRProfiler(免费)、.NET.Memory.Profiler。分析对象的创建、回收,分析内存泄露的原因。 2、使用CLRProfiler看下面的代码观察GC的情况,TimerLine。 for(inti=0;i<1000;i++){List<Person...

    27
    热度
  • [综合] 内存管理(4)——IDisposable

    1、GC只能回收托管(Managed)内存资源,对于数据库连接、文件句柄、Socket连接等这些资源(非托管资源,UnManaged)就无能为力,必须程序员自己控制资源的回收。SqlConnection、FileStream等。 2、对于使用非内存资源的类,完全可以自己定义一个销毁资源的方法来供程序...

    81
    热度
  • [综合] 内存管理(5)——Close和Dispose的区别,IDisposable例子

    一、IDisposable例子: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text;namespace资源回收 {classProgram{staticvoidMain(string[]a...

    40
    热度
  • [综合] 内存管理(6)——string与StringBuilder(面试)

    1、string是不变的,因此每次运算都会重新创建一个string对象。s=s+”abc”; 2、strings4=s1+s2+s3;//s1+s2产生"ab","ab"+s3产生"abc"。产生两个字符串 { s=s+i.ToString(); } 3、大量的字符串相连会产生大量的中间字符串,字符...

    58
    热度
  • [综合] 内存管理(7)——字符串拘留池(Intern)

    1、因为字符串是不可变的,所以CLR(公共语言运行库CommonLanguageRuntime)可能会将相同值的字符串用同一个实例。程序中大量使用字符串,有不少是重复性的,为了降低内存占用,.Net将代码中声明的字符串放到字符串拘留池中,值相同的字符串共享同一个实例。字符串是不变的。不是所有字符串都...

    103
    热度
  • [综合] 内存管理(8)——结构体 Struct (面试题)

    1、面试题1:结构体和类的区别。结构体是值类型,而类是引用类型。 2、面试题2:这里的输出结果是什么? MyPointp1=newMyPoint();MyPointp2=p1;//结构体是值类型,拷贝一份Console.WriteLine(object.ReferenceEquals(p1,p2))...

    35
    热度
  • [综合] 内存管理(10)——运算符重载

    1、==、Equals、HashCode 2、运算符重载==能够改变相等判断的规则。

    88
    热度