c#基础二
阅读原文时间:2023年07月09日阅读:1

对VS2012的理解

1、导入命名空间
命名空间就是类的"文件夹"。类就是"文件夹"中的文件。需要导入命名空间
添加引用:
如果我需要在一个项目中,访问另一个项目中的某一个类
--->添加对另一个项目的引用
--->导入命名空间

2、静态和非静态
静态成员:被static修饰
实例成员:不被static修饰
静态成员先于实例成员被加载到内存中,只有创建了对象,才有实例成员。
静态类中只能存在静态成员
调用:
静态成员调用:
类名.静态成员名;
实例成员调用:
实例名.实例成员;(实例就是我们的对象)
什么时候使用静态?
---->作为工具类
---->在整个项目中资源共享,正因为它是资源共享的,所以静态成员必须要等到整个项目都结束的时候
才会被资源释放。
在我们的项目中应该尽可能的少使用静态成员。
继承是创建对象的过程。

3、类库
.dll文件,我们使用类库来帮助我们封装一些常用的功能

4、值类型和引用类型
值类型:int double char bool decimal struct enum
引用类型:string 数组 自定义类 接口 委托

值类型的值存储在内存的栈上,引用类型的值存储在堆中。
栈上存储数据的效率要高于堆。

值传递:把值类型作为参数传递,把值本身进行传递。
注意:
ref可以把值传递改变为引用传递。
引用传递:把引用类型的值作为参数传递,传递的是引用。

5、字符串的学习
重要特性:
不可变性,我们不管对字符串做什么操作,都会在内存中产生一块新的实例。
驻留池
我们可以将一个字符串看作是char类型的只读数组。

字符串常用类的学习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _09字符串的常用方法
{
class Program
{
static void Main(string[] args)
{
//string s = null;
//if (string.IsNullOrEmpty(s))
//{
// Console.WriteLine("是的");
//}
//else
//{
// Console.WriteLine("不是");
//}

        //string str = "abcdefg";

        //Console.WriteLine(str\[5\]);  
        //Console.ReadKey();  
        //char\[\] chs = str.ToCharArray();  
        //chs\[2\] = 'z';  
        //foreach (char item in chs)  
        //{  
        //    Console.WriteLine(item);  
        //}  
        ////char数组---->字符串  
        //str = new string(chs);

        //string str = "abCDEfg";  
        //Console.WriteLine(str.ToUpper());  
        //Console.WriteLine(str.ToLower());

        //string s1 = "aBc";  
        //string s2 = "Abc";  
        //if (s1 == s2)  
        //{  
        //    Console.WriteLine("相等");  
        //}  
        //else  
        //{  
        //    Console.WriteLine("不相等");  
        //}  
        //Console.ReadKey();

        //if (s1.Equals(s2))  
        //{  
        //    Console.WriteLine("相等");  
        //}  
        //else  
        //{  
        //    Console.WriteLine("不相等");  
        //}  
        //Console.ReadKey();  
        //Console.ReadKey();

        //string str = "老毕吃了一顿饭,结果老毕火了";  
        ////int index = str.IndexOf("老",11);  
        ////Console.WriteLine(index);  
        //int index = str.LastIndexOf("123");  
        //Console.WriteLine(index);  
        //Console.ReadKey();

        //string str = "老毕吃了一顿饭,结果老毕火了";  
        //int index = str.IndexOf(",");  
        //string strNew = str.Substring(index + 1);  
        //Console.WriteLine(strNew);

        //string str = "张  ,,--三   ,李,,--四  a  ";  
        //string\[\] strNew = str.Split(new char\[\] { ',', ' ', '-' },StringSplitOptions.RemoveEmptyEntries);  
        ////字符串--->char类型的数组 ToCharArray()  
        ////字符串--->string类型的数组  
        //Console.ReadKey();

        //Trim() TrimEnd() TrimStart()

        //string s = "   张   ,,,--    三 ,,,--   ";

        //Console.Write(s.Trim(' ',',','-'));

        //string\[\] names = { "金秀贤", "金贤秀", "金正日", "金正恩" };  
        ////金秀贤|金贤秀|金正日|金正恩

        //string res = string.Join("|", 'c', "张三", 100, 3.14, true, 5000m);  
        //Console.WriteLine(res);  
        //Console.ReadKey();  
        //string res = string.Empty;  
        //for (int i = 0; i < names.Length - 1; i++)  
        //{  
        //    res += names\[i\] + "|";  
        //}  
        //Console.WriteLine(res + names\[names.Length - 1\]);

        Console.WriteLine("请输入你要回复的内容");  
        string contents = Console.ReadLine();  
        //判断contents中是否包含敏感词  
        if (contents.Contains("老赵"))  
        {  
            contents = contents.Replace("老赵", "\*\*\*\*");  
        }  
        Console.WriteLine(contents);  
        Console.ReadKey();  
    }  
}  

}

字符串的比较

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _10等号和Equals的区别
{
class Program
{
static void Main(string[] args)
{
//对于string类型而言,不管是等号还是Equals比较的都是值本身。
//Equals默认比较的是地址,但是我们在自己定义的类中如果用到Equals,都会将Equals进行重写,使之按照我们自己的需求进行比较
Person p1 = new Person() { Name = "刘德华", Age = };
Person p2 = new Person() { Name = "刘德华", Age = };
if (p1.Equals(p2))
{
Console.WriteLine("相等");
}
else
{
Console.WriteLine("不相等");
}

        if (p1==p2)  
        {  
            Console.WriteLine("相等");  
        }  
        else  
        {  
            Console.WriteLine("不相等");  
        }

        string a = "a";  
        string b = "a";

        if (a.Equals(b))  
        {  
            Console.WriteLine("相等");  
        }  
        else  
        {  
            Console.WriteLine("不相等");  
        }

        if (a==b)  
        {  
            Console.WriteLine("相等");  
        }  
        else  
        {  
            Console.WriteLine("不相等");  
        }

      //  Console.WriteLine(p1.ToString());//这个对象所在的类的命名空间

     //   Console.WriteLine(p2.ToString());  
        //StringBuilder sb = new StringBuilder();  
        //sb.Append("123");  
        //sb.Append("张三");  
        //Console.WriteLine(sb.ToString());  
        Console.ReadKey();  
    }  
}

class Person  
{  
    public string Name { get; set; }  
    public int Age { get; set; }

    public override bool Equals(object obj)  
    {  
        Person person = obj as Person;  
        if (this.Name == person.Name && this.Age == person.Age)  
        {  
            return true;  
        }  
        else  
        {  
            return false;  
        }  
    }

    public override int GetHashCode()  
    {  
        return base.GetHashCode();  
    }

    public override string ToString()  
    {  
        return "哈哈哈,我是被重写的ToString()";  
    }

}  

}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章