C#基础知识记录一

static void Main(string[] args)

        {

            #region 合并运算符的使用(合并运算符??) 更多运算符请参考:https://msdn.microsoft.com/zh-cn/library/ms173224(v=vs.100).aspx

            int? x = null;

            //合并运算符的写法

            int? y = x ?? 0;

            //三元运算符的写法:

            y = x == null ? 0 : x;

            Console.WriteLine(y);

            #endregion

            #region 多维数组 参考MSDN:https://msdn.microsoft.com/zh-cn/library/2yd9wwz4(v=vs.80).aspx

            //二维数组(3行3列)

            int[,] array2 = new int[3, 3];

            int[,] arr2 = { { 1, 2 }, { 2, 3 }, { 4, 5 } };

            int[, ,] arr3 = { { { 1, 2, 3 } }, { { 2, 3, 4 } }, { { 4, 5, 6 } } };

            foreach (var item in arr3)

            {

                Console.Write(item);

            }

            //三维数组:

            int[, ,] array3 = new int[3, 3, 3];

            //锯齿数组(更灵活的方式):

            int[][] juarray = new int[3][];

            juarray[0] = new int[2] { 1, 2 };

            //嵌套循环锯齿数组:

            for (int i = 0; i < juarray.Length; i++)

            {

                if (juarray[i] != null)

                    for (int j = 0; j < juarray[i].Length; j++)

                    {

                        Console.WriteLine("值为:{0}", juarray[i][j]);

                    }

            }

            Console.WriteLine(juarray[0][0]);

            #endregion

            #region 字符串正则表达式

            //------基础----------------

            /* 元字符:  .:表示匹配除换行以外的任意字符  \b:匹配单词开始或者结束  \d:匹配数字  \s:匹配任意的空白字符

             *  ^ :匹配字符串的开始   $ :匹配字符串的结束

             *  限定符:  *:重复0次或者多次  +:重复一次或者多次  ? :重复0次或者1次  {n}:重复n次   {n,} :重复n次或者更多次

             *    {n,m} :重复n到m次

             *   更多关于正则表达式可以参考:   https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex.aspx

             *   或者是:http://www.cnblogs.com/youring2/archive/2009/11/07/1597786.html  (写得很清楚)

             */

            Regex reg = new Regex("\\d");

            Console.WriteLine(reg.IsMatch("12321"));

            #endregion

            #region 集合 List,Queue,Stack,Dictionary ,LinkedList (链表)

            //举例:

            List<int> list = new List<int> { 1, 2, 3, 4, 5, 6, 7 };

            list.ForEach((a) =>

            {

                Console.WriteLine(a);

            });

            //或者:

            list.ForEach(delegate(int num)

            {

                Console.WriteLine(num);

            });

            //队列:

            Queue<int> queue = new Queue<int>();

            //向队列中添加元素:

            queue.Enqueue(1);  //从尾部 添加数据

            int q = queue.Dequeue();  // 从头部添加

            Console.WriteLine("出队:{0}", q);

            //栈 Stack:

            Stack stack = new Stack();

            stack.Push(1); //添加

            Console.WriteLine("返回栈顶元素:{0}", stack.Peek());//返回栈顶元素

            /* 其它:并发集合...

                以下几个为线程安全的集合:IProducerConsumerCollection<T>

                ,ConcurrentQueue<T>......BlockingCollection<T>

             */

            #endregion

            #region Linq、动态语言扩展、内存管理与指针

            //linq 并行运算AsParallel

            var sum = (from f in list.AsParallel() where f < 3 select f);

            //动态语言:dynamic

            #endregion

        }

  

//未完待续...

C#基础知识记录一的更多相关文章

  1. DataBase MongoDB基础知识记录

    MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...

  2. MongoDB基础知识记录

    MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...

  3. sqlserver 中存储过程的基础知识记录

    1.什么是存储过程? 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 2.为什么要用存储过程? 1)存储过程只在创建时进行 ...

  4. web开发必备-网络基础知识---记录一下

    1.osi 7层网络模型 2.socket 套接字编程 PS:一个从事web开发的人来说,我们是使用http协议来和服务器来进行交互.后面会详细的分析这个过程.

  5. UML 类图基础知识记录

    UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 依赖(Dependency): 关联(Association): 聚合(Aggregation): 合成(Composition): 泛化 ...

  6. js基础例子dom+原型+oop基础知识记录01

    //oo:概念是计算机中对于现实世界的理解和抽象的方法 //由计算机利用编程技术发展到现在的产物 //面向对象几要素 //对象:由属性和方法组成的集合 //属性:保存数据,存储在对象内存空间中的唯一的 ...

  7. Python基础知识记录

    1.去除空格 strip()  删除两边的空格.lstrip() 删除左边的空格.rstrip() 删除右边的空格 2.字符串的连接 s1='abc'  s2='cdf' s3=s1+s2    pr ...

  8. 基础知识系列☞C#中数组Array、ArrayList和List三者的区别

    数组() #region 数组 //初始化方式_0:先声明再赋值 ]; weekDays_0[] = "Sun"; weekDays_0[] = "Mon"; ...

  9. python核心编程学习记录之基础知识

    虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...

随机推荐

  1. 设置app的启动图

    Step1 1.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image" 2.如图,右侧的勾选可以让你选择是否要对ipad,横屏,竖屏,以 ...

  2. 高并发应用场景下的负载均衡与故障转移实践,AgileEAS.NET SOA 负载均衡介绍与实践

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  3. 解决SVN Upgrade working copy问题

    解决SVN Upgrade working copy,无法上传到svn上的解决方案是SVN Upgrade working copy老有问题,而且还特别慢.还有种方法,将原来上传到svn的项目中有个. ...

  4. notepad++ 中配置 python一键运行

    cmd /k python "$(FULL_CURRENT_PATH)"& PAUSE & EXIT cmd /k python 表示打开Command Promp ...

  5. POJ 1743 Musical Theme 二分+后缀数组

    Musical Theme   Description A musical melody is represented as a sequence of N (1<=N<=20000)no ...

  6. PHP运行模式

    1.运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口 / Common Gateway Interface) 2)FastCGI(常驻型CGI / Long-Live CGI ...

  7. SQL Server 数据库巡检脚本

    --1.查看数据库版本信息 select @@version --2.查看所有数据库名称及大小 exec sp_helpdb --3.查看数据库所在机器的操作系统参数 exec master..xp_ ...

  8. 关于HTML5的拖拽

    不介绍具体情况,先看API,注意看后面括号的说明 dragstart:拖拽开始(应用于被拖拽对象) drag:拖拽中(应用于被拖拽对象) dragenter:拖拽到指定位置(应用于拖拽目标) drag ...

  9. 如何用inno setup打包activex

    需要解决三个问题,运行环境检测与安装,按顺序执行安装,activex注册. 运行环境检测与安装 最开始的方法,百度之后,根据网上的搜索的结果,使用了RegQueryDWordValue(HKLM, ' ...

  10. HttpClient_自定义cookie策略

    实际使用client的过程中,会遇到一种情况,如cookie的Key为空的,此时默认的cookie的策略处理cookie是会报错. 这时咱可以通过重写cookiestore策略来解决如: /** * ...