zoukankan      html  css  js  c++  java
  • .NET知识点总结

    简介:收集在项目或者练习当中对一些知识点

    1、根据选择文件夹的路径获取该文件夹下后缀名为.txt文件

    View Code
    List<string> list = new List<string>();//文件名列表
    List<string> pNamelist = new List<string>();//文件名绝对路径列表
    /// <summary>
            /// 获取后缀为txt的文件名列表
            /// </summary>
            /// <param name="srcpath">txt文件的上级目录</param>
            /// <returns>返回相对路径下txt文件名的列表</returns>
            public List<string> GetFileList(string srcpath)
            {
                try
                {
                    // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
                    string[] filelist = System.IO.Directory.GetFileSystemEntries(srcpath);
                    // 遍历所有的文件和目录
                    int i=0;
                    foreach (string file in filelist)
                    {
                        // 先当作目录处理如果存在这个目录就重新调用getfileList(string srcpath)
                        if (System.IO.Directory.Exists(file))
                        {
                            GetFileList(file);
                        }
                        else
                        {
                            string[] fileNames = file.Split('\\');
                            string fileName = fileNames[fileNames.Length - 1];
                            if(fileName.Contains("XML") && fileName.Contains(".txt"))
                            {
                                list.Insert(i,fileName);//将txt文件名插入list列表中
                                pNamelist.Insert(i,file);//将对应的文件的绝对路径插入nNameList列表中
                                i++;
                            }
                        }
                        
                    }
    
                }
                catch (Exception e)
                {
                    
                }
                return list;
            }

    2、打开选择文件夹的窗体:

     FolderBrowserDialog fbd = new FolderBrowserDialog();
                if (fbd.ShowDialog()==DialogResult.OK)
                {}

    3、C#获取文件的各种路径:

    4、string,String,Stringbuilder的区别:

    (1)、string:表示文本(是C#中的类),是关键字,string不能作为类、结构、枚举、字段、变量、方法、属性的名称。

    (2)、String:长度是不可变的(.NET Framework的类,静态数组类),可以作为类、结构、枚举、字段、变量、方法、属性的名称。

    (3)、StringBuilder:长度是可变的,在C#程序当中需要对字符串进行修改,最好使用StringBuilder。

    (4)、stirng和StringBuilder的区别:

      a、string a=“I am”; a=a+“Shang”;这两句代码并非改变了string的长度,而是重新创建了一个新的对象“a”,同时将第一次创建的对象“a”丢弃了,丢弃的“a”将被垃圾收集器收集掉。

      b、StringBuilder是专门用来对字符串和字符执行动态操作的类。

      StringBuilder a= new StringBuilder("I am"); a.Append("Shang");

      StringBuilder在内部有一个足够长的字符数组用于存放字符串对象,当字符串长度没超过字符数组长度时,所有操作都是针对同一个字符数组。当长度超过时,StringBuilder将自动创建一个更长的数组,把原来的数据复制到新数组中。

    两者效率测试代码如下:

     

    View Code
    string a = "b";
                StringBuilder b = new StringBuilder();
                int i;
    
                //string
                DateTime dta0 = DateTime.Now;//string 开始变化前的时间
                for (i = 0; i <= 100000; ++i)
                {
                    a += "b";
                }
                DateTime dta1 = DateTime.Now;//string 结束变化的时间
                TimeSpan tsa = dta1 - dta0;//计算出时间差
    
                Console.WriteLine("string变化的时间为:{0}", tsa.ToString());
    
                //StringBuilder
                DateTime dtb0 = DateTime.Now;//StringBuilder 开始变化前的时间
                for (i = 0; i <= 100000; ++i)
                {
                    b.Append("a");
                }
                DateTime dtb1 = DateTime.Now;//StringBuilder 结束变化的时间
                TimeSpan tsb = dtb1 - dtb0;//计算出时间差
    
                Console.WriteLine("StringBuilder变化的时间为:{0}", tsb.ToString());
    
                Console.ReadLine();
    参考结果:

     7、名词释义。

    AutoEventWireup:指示控件的事件是否匹配。true:匹配,false:不匹配

     

     

    6、数据控件GridView奇偶行显示不同的样式:

    protected void gvNotification_RowDataBound(object sender, GridViewRowEventArgs e)
     {
           //设置奇偶行不同的背景色
         if (e.Row.RowType == DataControlRowType.DataRow)
         {
             if (e.Row.RowIndex % 2 == 0)
             {
                  e.Row.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#FFF3CA");
             }
             else
             {
                 e.Row.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#FFFFFF");
              }
         }

    }

  • 相关阅读:
    Android数据存储之IO
    UVA
    【源代码剖析】tornado-memcached-sessions —— Tornado session 支持的实现(二)
    杀毒与免杀技术具体解释之二:特征码定位-工具及原理
    C++ 訪问控制权限图解
    新辰:传统行业进军互联网 怎样颠覆网络获得新生?
    【二】注入框架RoboGuice使用:(Your First View Injection)
    POJ 1741 Tree 树形DP(分治)
    技术单词
    活动合集 | 2017微软技术暨生态大会 英雄讲师召集令
  • 原文地址:https://www.cnblogs.com/Shang0109/p/2688831.html
Copyright © 2011-2022 走看看