• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
猩球崛起
积小成多
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 2 3 4 5 6 7 下一页
2013年3月22日
.Net常见面试题整理(一)——值类型和引用类型
摘要: 原文地址:http://www.cnblogs.com/zhangkai2237/archive/2013/03/17/2964528.html类型一直是C#中最基本的问题,关于值类型和引用类型,我想每个C#程序员都知道“值类型保存在栈上,引用类型保存在堆上”。但是仅仅知道到这里是完全不够的,我们需要理解C#中的类型,了解为什么要有值类型和引用类型以及他们的特征。一、值类型和引用类型的概念值类型的实例是在线程栈上分配的(不能免俗的提起这句话),值类型的变量并没有一个指向实例的指针,而是变量中已经包含了实例本身的字段。相应的引用类型的实例时在托管堆中分配的,返回的是一个指向实例对象的内存地址。比 阅读全文
posted @ 2013-03-22 11:59 Orangutan 阅读(258) 评论(0) 推荐(0)
.Net常见面试题整理(二)——装箱和拆箱
摘要: 原文链接:http://www.cnblogs.com/zhangkai2237/archive/2013/03/21/2974570.html上一节我们讨论的是值类型和引用类型, 我们知道值类型是一种轻量级的数据结构, 对于一些简单的类型定义为值类型会减少定义成引用类型造成的系统开销以及GC的压力。但是值类型有一个缺点,就是缺少对象指针,我们不能用一个新的变量来引用栈上的值类型(Note:即未装箱的值类型)。也就是说很多引用类型为参数的方法不能传入值类型。为了解决这个问题,CLR提供了装箱和拆箱的机制。一、装箱和拆箱的概念和原理在面试中, 面试官提到装箱和拆箱的问题时,可能很多人想到的第一句 阅读全文
posted @ 2013-03-22 11:55 Orangutan 阅读(275) 评论(0) 推荐(0)
2013年3月21日
c# 文件拖放进程序获取文件路径
摘要: WPF添加Drop事件Drop="Window_Drop_1"Winform添加DragDrop事件 private void Window_Drop_1(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effects = DragDropEffects.Link; else e.Effects = DragDropEffects.None; ... 阅读全文
posted @ 2013-03-21 13:08 Orangutan 阅读(379) 评论(0) 推荐(0)
2013年3月20日
sealed,new,virtual,abstract与override
摘要: 1.sealed---“断子绝孙”密封类不能被继承,不会有子类。密封方法可以重写基类中的方法。2.new---“你是你的,我是我的”new关键字用于显式隐藏从基类继承的成员,也就是说在使用派生类时调用的方法是new关键字新定义出来的方法,而不是基类的方法。在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告。使用new显式隐藏成员会取消此警告,并使用派生类新定义的方法。即:好比是不用祖宗的东西,而是用自己创造的东西。using System.Text; namespace ConsoleApplication1 { class Program { sta... 阅读全文
posted @ 2013-03-20 23:35 Orangutan 阅读(289) 评论(0) 推荐(0)
private,protected,public和internal的区别
摘要: private是完全私有的,只有在类自己里面可以调用,在类外部和子类都不能调用,子类也不能继承父类的private属性和方法protected虽然可以被外界看到,但外界却不能调用,只有自己及自己的子类可以调用(属性和方法都可以被子类所继承和调用)private和protected的共同点:外部都不可以访问private和protected的区别:在同一类中可以视为一样,继承中可以体现区别private在派生类中不可被访问,而protected可以public:对任何类和成员都完全公开,无限制访问。internal:同一应用程序集内部可以访问该类。protected internal 只能在同一 阅读全文
posted @ 2013-03-20 23:23 Orangutan 阅读(363) 评论(0) 推荐(0)
C# const和readonly的区别
摘要: 初始化赋值不同const修饰的常量必须在声明的同时赋值,例如: public class Class1 { public const int MaxValue = 10;//正确声明 public const int maxValue; //错误,常量字段要求提供一个值 public Class1() { maxValue=10; } }readonly字段可以在初始化(声明或构造函数)的过程中赋值。在其他地方不能进行赋值操作。根据所使用的构造函数,readonly可... 阅读全文
posted @ 2013-03-20 22:59 Orangutan 阅读(241) 评论(0) 推荐(0)
C#Equals()和运算符==的区别
摘要: 1.对于值类型如果对象的值相等,则相等运算符==返回True,否则返回False2.对于引用类型equals方法比较的是两个对象指向的内存空间内容是不是相同。也就是比较两个引用类型是否是对同一个对象的引用,即两个对象的内容是否相等。对于string类型,==比较字符串的值对于引用类型,==操作符类似于比较的是文件夹的路径是否相同,而equals方法比较的是文件夹中的内容是不是一样。using System; namespace Equals和等号的区别 { class ClassPerson { private string name=null; ... 阅读全文
posted @ 2013-03-20 22:31 Orangutan 阅读(298) 评论(0) 推荐(0)
c#字符串常见操作
摘要: 1.字符串转为比特码:byte[] byteStr=System.Text.Encoding.Default.GetBytes(str); 2.字符串相加StringBuilder sb=new StringBuilder(); sb.Append("aa"); sb.Append("bb"); sb.Append("cc"); //和+等效 string str="aa"+"bb"+"cc";3.截取字符串的一部分Substring(起始位置,截取长度);string st 阅读全文
posted @ 2013-03-20 19:53 Orangutan 阅读(255) 评论(0) 推荐(0)
c#区分传值调用 传引用调用。
摘要: 先来看一下百度百科是怎样说的:传值调用是指方法在调用参数时,不是对原参数进行操作,而是创建参数的拷贝并对进行操作,这种调用有利于保护数据传引用调用是指传递一个地址的拷贝。在c#中(以下内容转自:http://www.cnblogs.com/wang_yb/archive/2011/05/18/2050574.html):如果传递的参数是基元类型(int,float等)或结构体(struct),那么就是传值调用。如果传递的参数是类(class)那么就是传引用调用。如果传递的参数前有ref或者out关键字,那么就是传引用调用。如果调用的函数中对参数重新进行了地址分配(new操作),那么执行结果类似 阅读全文
posted @ 2013-03-20 17:57 Orangutan 阅读(198) 评论(0) 推荐(0)
2013年3月17日
c#好的程序员必须掌握的编码习惯
摘要: 1.一定要用大括号括住流程控制元素,如for,while,if,switch内嵌的代码,即便只包含一行代码。2.如果语句中有else if,一定要有一个else跟着最后一个else if。3.只要使用switch在所有case后面一定要有default。4.当对字符串进行复杂操作的时候考虑用StringBuilder,StringBuilder可以在实例化的时候制定字符串需要多少空间,这样不需要重复分配内存。5.用static readonly来修饰一个常量而不用const,好处就是牺牲一点点性能的情况下让CLR进行运行时的类型检查。6.在最靠近第一次使用某个变量的地方声明并初始化这个变量而不 阅读全文
posted @ 2013-03-17 15:21 Orangutan 阅读(181) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3