C#基础概念二十五问

1.静态成员和非静态成员的区别?

2.const 和 static readonly 区别?

3.extern 是什么意思?

4.abstract 是什么意思?

5.internal 修饰符起什么作用?

6.sealed 修饰符是干什么的?

7.override 和 overload 的区别?

8.什么是索引指示器?

9.new 修饰符是起什么作用?

10.this 关键字的含义?

11.可以使用抽象函数重写基类中的虚函数吗?

12.密封类可以有虚函数吗?

13.什么是属性访问器?

14.abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?

15.接口可以包含哪些成员?

16.类和结构的区别?

17.接口的多继承会带来哪些问题?

18.抽象类和接口的区别?

19.别名指示符是什么?

20.如何手工释放资源?

21.P/Invoke是什么?

22.StringBuilder 和 String 的区别?

23.explicit 和 implicit 的含义?

24.params 有什么用?

25.什么是反射?

以下是我做的一份参考答案(C# 语言范畴之内),如果有不准确、不全面的,欢迎各位朋友指正!

1.静态成员和非静态成员的区别?

答:

静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问

不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问

一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值

静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等

示例:

using System;
using System.Collections.Generic;
using System.Text;
namespace Example01
{
  class Program
  {
    class Class1
    {
      public static String staticStr = "Class";
      public String notstaticStr = "Obj";
    }
    static void Main(string[] args)
    {
      //静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值
      Console.WriteLine("Class1's staticStr: {0}", Class1.staticStr);
      Class1 tmpObj1 = new Class1();
      tmpObj1.notstaticStr = "tmpObj1";
      Class1 tmpObj2 = new Class1();
      tmpObj2.notstaticStr = "tmpObj2";
      //非静态变量通过对象进行访问,不同对象的同一非静态变量可以有不同的值
      Console.WriteLine("tmpObj1's notstaticStr: {0}", tmpObj1.notstaticStr);
      Console.WriteLine("tmpObj2's notstaticStr: {0}", tmpObj2.notstaticStr);
      Console.ReadLine();
    }
  }
}

结果:

Class1's staticStr: Class

tmpObj1's notstaticStr: tmpObj1

tmpObj2's notstaticStr: tmpObj2

时间: 2024-11-05 12:24:58

C#基础概念二十五问的相关文章

(保存)C#基础概念二十五问

C#基础概念二十五问 注:本文部份资料来自网络,如有侵权,请与我联系,我会在第一时间声明引用或将其删除!     当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了.这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题: 1.静态变量和非静态变量的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.internal 修饰符起什么作用?6.sealed 修饰符是干什么的?7.over

C#基础概念二十五问 16-20_C#教程

16.类和结构的区别? 答: 类: 类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存 类有构造和析构函数 类可以继承和被继承 结构: 结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放),结构的赋值将分配产生一个新的对象. 结构没有构造函数,但可以添加.结构没有析构函数 结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口   示例: 根据以上比较,我们可以得出一些轻量级的对象最好使用结构,但数据量大或有复杂处理逻辑对象最好使用类.

C#学习基础概念二十五问第1/4页_C#教程

注:本文部份资料来自网络,如有侵权,请与我联系,我会在第一时间声明引用或将其删除!     当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了.这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题: 1.静态成员和非静态成员的区别? 2.const 和 static readonly 区别? 3.extern 是什么意思? 4.abstract 是什么意思? 5.internal 修饰符起什么作用? 6.sealed 修饰符是干什么的? 7.override 

C#学习基础概念二十五问续2第1/2页_C#教程

6.sealed 修饰符是干什么的? 答: sealed 修饰符表示密封 用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥 用于方法和属性时,表示该方法或属性不能再被继承,必须和 override 关键字一起使用,因为使用 sealed 修饰符的方法或属性肯定是基类中相应的虚成员 通常用于实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱 恰当的利用 sealed 修饰符也可以提高一定的运行效率,因为不

C#学习基础概念二十五问 11-15_C#教程

11.可以使用抽象函数重写基类中的虚函数吗? 答: 可以 需使用 new 修饰符显式声明,表示隐藏了基类中该函数的实现 或增加 override 修饰符,表示抽象重写了基类中该函数的实现 示例:     class BaseClass     {         public virtual void F()         {             Console.WriteLine("BaseClass.F");         }     }     abstract clas

WF4.0基础篇 (二十五)(补充) ActivityFunc与InvokeFunc

ActivityFunc<TResult>   类名 System.Activities.ActivityFunc<TResult>   System.Activities.ActivityFunc<T, TResult> System.Activities.ActivityFunc<T1, T2, TResult> System.Activities.ActivityFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T

WF4.0 基础篇(二十五) ActivityAction与InvokeAction

ActivityAction 类名 System.Activities.ActivityAction System.Activities.ActivityAction<T> System.Activities.ActivityAction<T1, T2> System.Activities.ActivityAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> 文件 Sy

Bootstrap &lt;基础二十五&gt;警告(Alerts)

原文:Bootstrap <基础二十五>警告(Alerts) 警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个可选的关闭按钮.为了创建一个内联的可取消的警告框,请使用 警告(Alerts) jQuery 插件. 您可以通过创建一个 <div>,并向其添加一个 .alert class 和四个上下文 class(即 .alert-su

猪八戒网答草根五十五问

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 大家好,我是猪八戒网的朱明跃,一个一不小心从传统媒体进入互联网的新手,今后还要多向各位请教. 下面说说我的经历:我的经历比较草根,19岁开始教了三年书,做了9个月的乡干部,8年记者,去年国庆节辞去重庆晚报首席记者,专职运营猪八戒网 . 猪八戒网其实很简单,就是一个服务类的电子商务网站,和淘宝不同的是,在我们网站上交易的不是实物,而是服务.而交易的方式,就是悬赏竞标式.猪八戒网早在2005年就有了,当时只是我的一个个人博客站,我用OBLOG程