11月17日

      StringBuilder 和 String 的区别:

String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而StringBuilder 则不会。如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。

字符串的处理

从Email中提取出用户名和域名:abc@163.com

string email = "Rocky2005@163.com";
int poti = email.IndexOf('@');
            string username = email.Substring(0,poti);
            string domain = email.Substring(poti + 1);
Console.WriteLine(username);
            Console.WriteLine(domain);
            Console.ReadKey();

 栈和堆的区别

栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;局部值类型变量、值类型参数等都在栈内存中。
堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。
继承
利用继承实现Student类和Teacher类继承自Person类.
class Person
    {
        public Person()
        {
            
        }

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

        public char Gender { set; get; }


      
    }
class Student:Person
    {
        public string Hobby { set; get; }
        public static string Popularirity { set; get; }

        public Student()
        {
 
        }

        public static void SayHi()
        {
            Console.WriteLine("学生打招呼");
        }
    }
class Teacher:Person
    {

        public decimal Salary { set; get; }
        public int YearOfsevices { set; get; }


        public void SayHi()
        {
            Console.WriteLine("老师问好");
        }

        public Teacher()
        {
 
        }
    }
原文地址:https://www.cnblogs.com/songfang/p/4104231.html