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. LeetCode之100. Same Tree

    ------------------------------------------ 递归比较即可 AC代码: /** * Definition for a binary tree node. * p ...

  2. hbase集群的启动,注意几个问题

    1.hbase的改的会影响器他的组件的使用, 故而, 在修改 hadoop的任何组件后, 一定要记得其它的组件也能受到影响, 一下是我在将hadoop的集群改了之后 , 再次运行hbase的时候, 就 ...

  3. ImageView的scaleType详解

    ImageView的ScaleType详 1. 网上的误解 不得不说很失望,到网上搜索了几篇帖子,然后看到的都是相互复制粘贴,就算不是粘贴的,有几篇还是只是拿着自己的几个简单例子,然后做测试,这种以一 ...

  4. 《C#本质论》读书笔记(15)使用查询表达式的LINQ

    15.1 查询表达式的概念 简单的查询表达式 private static void ShowContextualKeywords1() { IEnumerable<string> sel ...

  5. AutoMapper搬运工之配置

    回顾 前几篇搬运了AutoMapper的基本用法,自定义映射,相信有看的同学已经会使用AutoMapper这个强大的Mapping工具了.不过细心的你是否还记得前几篇中有提到Map的创建并非是每次都需 ...

  6. ASP.NET4.5Web API及非同步程序开发系列(3)

    接着上一篇博客的内容做一个补充,正好是一个大哥提出来的,我们看看一个有趣的现象. 请求相关问题的补充: 我们先在Controller中的定义一个我们在前一篇博客中已经测试过的方法如下: public ...

  7. linux 使用命令笔记

    这篇随笔用来记载常用的 linux 终端命令 1. 重命名 方案a. mv old.c new.c     //正规命令,把old.c 重命名为: new.c 方案b. cp old.c new.c ...

  8. windows pip安装 更新

    升级: http://blog.csdn.net/liuchunming033/article/details/39578019 pip坏了如何重新安装: https://github.com/pyp ...

  9. 【BZOJ1087】 [SCOI2005]互不侵犯King 状压DP

    经典状压DP. f[i][j][k]=sum(f[i-1][j-cnt[k]][k]); cnt[i]放置情况为i时的国王数量 前I行放置情况为k时国王数量为J #include <iostre ...

  10. ffplay代码播放pcm数据

    摘抄雷兄 http://blog.csdn.net/leixiaohua1020/article/details/46890259 /** * 最简单的SDL2播放音频的例子(SDL2播放PCM) * ...