zoukankan      html  css  js  c++  java
  • BCL

    - System.IO.FileInfo
    - System.IO.DirectoryInfo MSDN
    - System.IO.Directory
    - System.IO.File

    View Code 
     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using System.Threading.Tasks;
     using System.IO;
     
     namespace ConsoleApplication3
     {
         class Program
         {
             static void Main(string[] args)
             {
                 //FileInfo
                 //DirectoryInfo
                 //File
                 //Director
                 var users = new List<string>(); //创建循环目录
                 users.Add("Shawn");
                 users.Add("Tutu");
                 users.Add("Baba");
                 foreach (var user in users)
                 {
                     for (var i = 0; i < 5; i++)
                     {
                         Directory.CreateDirectory(string.Format("Homework/{0}/week_{1}", user, i));
                     }
                 }
     
                 if (!Directory.Exists("Test"))  //Directory例子:static方法,可以直接叫,path为当前project位置
                 {
                     Directory.CreateDirectory("Test");
                 }
                 File.Delete("test.txt");
     
     
                 var directroyInfo = new DirectoryInfo("c:\\");  //DirectoryInfo例子:需要object承载,需要写path地址
                 Console.WriteLine("File:");
                 foreach (FileInfo info in directroyInfo.GetFiles()) //Returns a file list from the current directory
                 {
                     Console.WriteLine("{0} - {1}", info.Name, info.Length);
                 }
                 Console.WriteLine("\nSub Directories:");
                 foreach (DirectoryInfo info in directroyInfo.GetDirectories())
                 {
                     Console.WriteLine("{0}", info.Name);
                 }
                 Console.ReadKey();
             }
         }
     }

    - Dictionary
    - HashSet
    - Queue
    - Stack

    HashSet collection:只能存储给定type的不重复的值

    用法:我想控制没有重复的数据或者找出重复的数据

    主要应用在判断是否值已经被add进过

       这样也可以  

    或者反向操作,找出所有duplicate的值,只要变为if (!set.Add(item))就可以

     Queue: First in first out collection

    用法:比如我想向外输出一组数据,先进的先出,这样每Dequeue()一个就从collection里移出一个。Enqueue()相当于add到最后,Dequeue()相当于remove第一个,然后返回这个type(即继续持有这个被移除的object)

    ops = new Queue<IOperation>();这句,ops是reference object,它指向的是新new出来的Queue<IOperation>内存,而_ops也是指的同一个内存空间。

    output是这样的

    因为ops到第四个coolection item的时候,dequeue移出这个object后,持有这个object,执行内部的enqueue,把其又加回到queue队尾

    while(ops.Count > 0)
    {
        ops.Dequeue().Exec();
    }
    
    //相当于
    
    while(ops.Count > 0)
    {
        Ioperation op = ops.Dequeue();
        op.Exec();
    }

    Stack: 先进后出

    上面的例子代码不变只是把所有是Queue类型的换成是Stack类型:Statck<Ioperation>

    结果成

     Queue VS Stack

  • 相关阅读:
    js 格式化时间
    js filter过滤数据
    vant 省市区三级联动 自定义json数据展示 取值
    移动端 table横向滚动
    js 判断字符串中是否包含某个字符串
    element ui form表单 刚进页面就验证
    js ES6 Promise.all 等两个接口都返回成功执行
    SDNU 1139.Emergency(起点更改最短路问题)
    SDNU 1062.Fibonacci(矩阵快速幂)
    SDNU 1103.买彩票(水题)
  • 原文地址:https://www.cnblogs.com/shawnzxx/p/3138576.html
Copyright © 2011-2022 走看看