StringBuilder 和 String 的区别:
String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而StringBuilder 则不会。如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。
字符串的处理
从Email中提取出用户名和域名:[email protected]
string email = "[email protected]"; 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() { } }
时间: 2024-11-22 21:40:40