#学习笔记.net,基础加强第三天(2020.2.12)

1.StringBuilder拼接字符串的工具

 StringBuilder sb = new StringBuilder()
  sb.Append("1233456");
  sb.Append("添加"); 
  webBrowser1.DocumentText = sb.ToString();

2.out参数

   out参数侧重于在函数中返回多个值
   out 参数要求必须在方法的内部为其赋值
        int n;
        string s;
        bool b = Test(out n, out s);
        Console.WriteLine(b);
        Console.WriteLine(n);
        Console.WriteLine(s);
    
     static bool Test2(out  int n,out string s)
    {
					n=100;
					s="123";
					return ture;
    }

3、集合的学习

非泛型集合(类型不确定)
	ArrayList
	Hashtable
泛型集合(类型确定)
	List<T>
	Dictionary<Tkey,Tvalue>

(1)非泛型集合
好处:不用考虑数组类型
坏处:会进行装箱和拆箱,影响效率
(2)装箱和拆箱
装箱:值类型---->引用类型
拆箱:引用类型—>值类型
我们判断是否发生了拆箱或者装箱,首先要判断这两种数据类型是否存在继承关系。
你装箱的时候拿什么类型装的箱,你拆的时候,就得拿什么类型去拆。

4.集合和数组

集合可以随时改变长度

5.List常用的函数

Add():添加单个元素
AddRange():添加一个集合
Insert():插入一个元素
InsertRange():插入一个集合
Remove():移除指定的元素
RemoveAt():根据下标移除元素
RemoveRange():移除一定范围内的元素
ToArray():集合转换成数组
ToList():数组转换成集合

 //集合初始化器
            List<string> list1 = new List<string>() { "a", "b", "c", "d", "e" };
            List<string> list2 = new List<string>() { "d", "e", "f", "g", "h" };

            //让list1添加list2中的每个元素
            for (int i = 0; i < list2.Count; i++)
            {
                if (!list1.Contains(list2[i]))
                {
                    list1.Add(list2[i]);
                }
            }

            foreach (string item in list1)
            {
                Console.WriteLine(item);
            }

6.Dictionary键值对集合

       Dictionary<string , string> dic = new Dictionary<string, string>();
            dic.Add("1", "张三");
            dic.Add("2", "李四");
            dic.Add("3", "王五");
            dic.Add("4", "赵六");
            //键值对集合中的键必须是唯一的
            //dic.Add(4, "田七");
            //键值对集合中的值是可以重复的
            dic.Add("5", "王五");
            //可以给键值对集合中的某一个值进行重新赋值
            dic["4"] = "田七";
            键值对集合常用函数
            判断集合中是否已经包含某一个键
            if (!dic.ContainsKey(13))
            {
                dic.Add(13, "玩狗蛋儿");
            }
            else
            {
                dic[3] = "王狗蛋儿";
            }
            Console.WriteLine(dic[13]);

两种遍历方式(不要用for)

   使用foreach循环,通过遍历键值对的形式对键值对集合进行遍历
        第一种遍历方式:遍历集合中的键
        foreach (string item in dic.Keys)
        {
            Console.WriteLine("键---{0}  值---{1}",item,dic[item]);
            Console.ReadKey();
        }

        第二种遍历方式:遍历集合中的键值对
        foreach (KeyValuePair<string, string> kv in dic)
        {
            Console.WriteLine("键---{0} 值---{1}", kv.Key, kv.Value);
        }
        Console.ReadKey();
    }

6文件操作

(1)File类(静态类)
Exist():判断指定的文件是否存在
Create():创建
Move():剪切
Copy():复制
Delete():删除

using System.IO;
if (!File.Exists("1.txt"))
    {
        File.Create("1.txt");
    }

    if (File.Exists("1.txt"))
    {
        File.Delete("1.txt");
    }
   File.Copy(@"C:\Users\SpringRain\Desktop\english.txt", @"D:\aaaaaa.txt");
    Console.WriteLine("操作成功");
    File.Move(@"D:\aaaaaa.txt", @"C:\Users\SpringRain\Desktop\bbbbbb.txt");

(2)读操作

 //  ReadAllLines()默认采用的编码格式是utf-8
    string[] str = File.ReadAllLines(@"C:\Users\SpringRain\Desktop\english.txt");
   // ReadAllText()默认采用的编码格式也是utf-8
    string str = File.ReadAllText(@"C:\Users\SpringRain\Desktop\english.txt");
    Console.WriteLine(str);
    byte[] buffer = File.ReadAllBytes(@"C:\Users\SpringRain\Desktop\english.txt");
    //字节数组---->字符串
    string str = Encoding.UTF8.GetString(buffer);
    Console.WriteLine(str);

(3)写操作

         string str="张三李四王五百家姓";
            //字符串--->字节数组
         byte[] buffer= Encoding.Default.GetBytes(str);
          File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\121212.txt", buffer);
            
          File.WriteAllLines(@"C:\Users\SpringRain\Desktop\121212.txt", new string[] { "a", "b" });

          File.WriteAllText(@"C:\Users\SpringRain\Desktop\121212.txt", "c");      

7.MD5加密

using System.Security.Cryptography;
  static void Main(string[] args)
        {
            string str = "123";
            string md5Str = GetMd5(str);
            Console.WriteLine(md5Str);
            Console.ReadKey();
        }

        static string GetMd5(string str)
        {
            MD5 md5 = MD5.Create();
            byte[] buffer = Encoding.Default.GetBytes(str);
            //开始加密 返回加密好的字节数组
            byte[] bufferMd5 = md5.ComputeHash(buffer);
            //转成字符串
            //string result = Encoding.Default.GetString(bufferMd5);
            //return result;
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < bufferMd5.Length; i++)
            {
                sb.Append(bufferMd5[i].ToString("x2"));//x:表示将十进制转换为16进制
            }
            return sb.ToString();
        }

标题大学菜鸡生一枚,学习.net,希望得到指导。

发布了16 篇原创文章 · 获赞 2 · 访问量 207

猜你喜欢

转载自blog.csdn.net/weixin_43482965/article/details/104276454