zoukankan      html  css  js  c++  java
  • 2015-10-27 C# 第三次课

    1、StringBuilder使用方法

      string s=null;和string s="";区别:

      1、string s=null; 不在内存中开辟空间

      2、string s="";在内存中开辟空间,但空间中没有值(""也是一个字符串)

       方法一:结果与方法二相同,但这种方法很耗系统资源,建议不要使用.

    string s1 = "aaa";
    
               s1 += "bbb";
    
               s1 += "cccc";
    
               s1 += "dddd";
    
               Console.WriteLine(s1);

       方法二:结果与方法一相同,这种方法最优化,建议使用.   

    string s1 = "aaaa";
    
                StringBuilder sb = new StringBuilder();
    
                sb.Append(s1);
    
                sb.Append("vvvvvv");
    
                sb.Append("dddddd");
    
                //Console.WriteLine(sb.ToString());

    另外字符常用方法:

    字符串变量传值:

        string s1 = "a";
    
        string s2 = "b";
    
        string s = string.Format("大家好,小明今年{0}岁,小王今年{1}岁", s1, s2);
    
    将S1的值传递给{0},S2的值传递给{1},整合成一个新的字符串赋值给S 

    2、format方法:(foreach方法就是对一个集合或者数组进行遍历)

    Foreach遍历数组的方法:

      class Program
     {
      static void Main(string[] args)
      {
        string[]aString={"aaa","ccc","ddd","eeee"};;
        foreach(var c in aString) //遍历
         {
         Console.WriteLing(c);
        }
         Conesole.ReadKey();
      }
     } }

    结果:

     3、错误和异常:

        3.1、错误就是语法有问题,不能够编译通过的。

      class Program
     { 
       static void Main(string[] args)
       {
            stringg a="dsadfa";
            Console.ReadKey();
       }
     } }

        3.2、异常是可以编译通过,但是不能够正常的运行  

          class Program
      { 
           static void Main(string[] args)
         {
            string[] aString={"aaa","ccc","ddd","eeee"};
            Console.WriteLine(aString[4]);
             Console.ReadKey();
          }
      } }

      3.3异常处理:(把可能发生异常的地方,放在try”里面  当发生异常的时候通过“catch(Exception ex)”来捕获它)

        class Program
      { 
       static void Main(string[] args) { try { string[] aString={"aaa","ccc","ddd","eeee"};    Console.WriteLine(aString[4]); } catch(Exception ex) { //Console.WriteLine(ex.Message); //表示把异常信息打印出来
    Console.WriteLine(网站正在维修中...); //不想让客户看见异常原因是什么,可以通过这来写,这样会比较好
    }

      
     finally //不管是否发生异常,这里面都会执行
     
      {
         Console.WriteLine;

       }
         Console.ReadKey();
          }
      } }

     4、数组和集合

        class Program
      {
        static void Main(string[] args)
      {
        char[] a = new char[] { 'a', 's', 'f', 'e', 'r', 't', 'y' };
        Console.WriteLine("请输入你要读取的第几个元素值:");
      int i = Convert.ToInt32(Console.ReadLine());  //Console.ReadLine(): 表示在控制台里面获取到输入的内容.
      if (i <= a.Length)
      {
      Console.WriteLine("指定位置的元素值为:"+a[i - 1]);
      }
      else
      {
      Console.WriteLine("您输入的数字超出了数组的长度");
      }
      Console.ReadKey();
      }
     } }

    5、添加和删除数组元素(ArryList)

      System.Collections命名空间

      ArryList使用的大小可以按照需求动态增加

       class Program
      {
       static void Main(string[] args)
      {
       char[]aChar=new char[] { 'a', 's', 'f', 'e', 'r', 't', 'y' };
        
       ArrayList alist =new ArrayList();
       foreach(var a in aChar)
       {
        alist.Add(a);  // Add里面是输入object数据类型
       }
       foreach(var al in alist)
         {  
          Console.WriteLine(al);
        }
        Console.ReadKey();
      }
     }
    }

    注:Add里面也可以写删除、添加、插入、清除这些元素:   

      //List.RemoveAt(0);//删除第一个元素

     //List.Add(0);//在List的末尾添加0

      //List.Insert(1, 5);//在索引值为1处插入5

     //List.Clear();//清除现有所有元素

    6、object类型是任何数据类型的父类

    注:object是属于引用类型

       class Program
      {
       static void Main(string[] args)
      {
       int[]aNumber={2,23,234,234};
        
       ArrayList alist=new ArrayList();
       foreach(var a in aNumber)
       {
        alist.Add(a);  // Add里面输入的是object数据类型,要将值类型转为引用类型叫装箱  装箱拆箱有利于损耗性能
       }
       foreach(var al in alist)
         {  
          Console.WriteLine(al);
        }
        Console.ReadKey();
      }
     }
    }

    注:使用”ArrayList“在数据操作过程中,容易导致装箱拆箱会影响到性能问题,这样我们就可以用泛型类型来解决装箱拆箱问题。

    7、泛型(list<T>)

       class Program
      {
       static void Main(string[] args)
      {
       int[]aNumber={2,23,234,234};
       
    List<int>list=new List<int>(); // list<T>表示泛型
    foreach(var a in aNumber)    {     list.Add(a);    } Console.ReadKey();   }  } }

    注:list<T>里面也可以写删除、添加、插入、清除这些元素:   

      //List.RemoveAt(0);//删除第一个元素

     //List.Add(0);//在List的末尾添加0

      //List.Insert(1, 5);//在索引值为1处插入5

     //List.Clear();//清除现有所有元素

     

    8、Hashtable的用法  

    摘要:当对一个数组进行删除、清除、插入的话,这个时候顺序就打乱了,要是想精确定位某一个具体的值就要用“Hashtable”方法

        1.1(Hashtable存储方式就是key value)

    例子:

       class Program
      {
       static void Main(string[] args)
      {
        Hashtable ht=new Hashtable();  //Hashtable用法
         ht.Add("key1","aaa");
        ht.Add("key2","ccc");
        foreach(var key in Keys)
        {
         Console.WriteLine(ht[key]);
        }
          Console.ReadKey();
      }
     }
    }

    显示的结果:

      1.2 Hashtable的泛型形式Dictionary

      class Program
      {
       static void Main(string[] args)
      {
        Dictionary<string,string>dt =new Dictionary<string,string>();
         dt.Add("key1","daaa");
        dt.Add("key2","ddddd");
        foreach(var key in Keys)
        {
         Console.WriteLine(ht[key]);
        }
          Console.ReadKey();
      }
     }
    }

    显示的结果:

    9、面向对象的语言三大特点:封装、继承、多态

      1、封装

        1.1 public(访问不受限制) 可以在当前命名空间的所有文件+外部的类库文件调用。 
        1.2 protected(访问仅限于本类或者其子类,可以跨程序集) 可以在本类或者其子类调用(跨程序集的子类也可以)
          1.3 private(访问仅限于本类) 只能够在本类里面调用
          1.4 internal(访问仅限于当前程序集) 只能在当前的命名空间里面调用。
          1.5 protected internal 在当前命名空间下的所有文件,以及跨程序集的子类里面可以用。

  • 相关阅读:
    关于Git学习-远程库(github) 命令
    关于git的学习
    python-自动化测试结果发送邮件报错(smtplib.SMTPDataError: (554, b'DT:SPM 163……)解决方法
    android SDK- 使用 AVD Manager.exe 创建虚拟机遇到报错 emulator
    性能测试方案大纲-学习笔记
    python + locust 记录一次性能测试的实施
    jmeter 做压测常见问题记录-单台测试机建议最大线程数
    jmeter 调用mysql数据库,使用JDBC请求执行相关SQL
    加解密原理
    SM1,SM2,SM3,SM4刨析
  • 原文地址:https://www.cnblogs.com/admi88/p/4915976.html
Copyright © 2011-2022 走看看