首页 > 代码库 > 11月17日

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()        {         }    }

 

 

 

11月17日