修饰符|值类型、引用类型|List|索引器

1.简述private、protected、public、internal 修饰符的访问权限

private:私有成员,在类的内部可以访问

protected:保护成员,在该类内部和继承类中可以访问

public:公共成员。无访问限制

internal:当前程序集可以访问

———延伸

类的实例化,(如何使用类?),用关键字new

类 实例名=new 类();

字段,方法、属性都类的成员:member

都要加访问级别?

访问级别的用处在于控制成员在哪些地方可以被访问,达到面向对象中”封装"的目的。

2.在dotnet中类(class)与(struct)的异同

class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。

struct属于值类型,是分配在内存的栈上的。结构体是复制传递的。Int32/Boolean等属于结构体

3.堆和栈的区别

堆是程序运行期间动态分配的内存空间。

栈是编译期间就分配好的内存空间。局部值类型变量、值类型参数等都在栈上。

4.值类型和引用类型的区别

值类型无null;  所有值类型隐式派生自System.Value Type;类和结构都可以有接口;赋值时传值和引用地址

4.命名空间:用于解决类的重名问题,可以看做“类”的文件夹

5.ArrarList(动态数组) 、List(泛型集合)、Hashtable(哈希表)、Dictionary(字典)区别?

6.FIleStream类

FileStream 类是公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。 命名空间:System.IO 程序集:mscorlib(在 mscorlib.dll 中)

7.索引器?

索引器为c#程序语言中类的一种成员,它使得对象可以像数组一样被索引,使程序看起来更直观,更容易编写。

<span style="font-size:18px;">namespace _12索引器小例子
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> listInt = new List<int>();        

            MyList myList = new MyList();
            myList.Add(1);

            myList.Add(2);
            myList.Add(3);

            string st=myList.ToString();
            Console.WriteLine(st);
            Console.ReadKey();

        }
    }
    public class MyList
    {
        List<int> list = new List<int>();

        public int this[int index]
        {
            get { return list[index]; }
            set { list[index] = value; }
        }

        public void Add(int item)
        {
            list.Add(item);
        }

        public override string ToString()
        {
            string str="";
            foreach (int item in list)
            {
                str+=item;
            }
            return str;
        }
    }
}</span>
时间: 2024-10-25 03:11:56

修饰符|值类型、引用类型|List|索引器的相关文章

数往知来C#之接口 值类型与引用类型 静态非静态 异常处理 GC垃圾回收 值类型引用类型内存分配&lt;四&gt;

C# 基础接口篇 一.多态复习 使用个new来实现,使用virtual与override    -->new隐藏父类方法 根据当前类型,电泳对应的方法(成员)    -->override重写 无论什么情况,都是执行新的方法(成员) 继承是实现多态的一个前提,没有继承多态是不能实现的 父类与子类实现多态 抽象类与子类实现 抽象类不能实例化 抽象类中的抽象方法没有方法体 抽象类的成员有哪些   ->包含非抽象成员   ->不能实例化   ->子类必须实现父类的 抽象方法,除非子

30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法

一:值类型/引用类型的区别      值类型主要包括简单类型,枚举类型,和结构体类型等,值类型的实例通常被分配在线程堆栈上面变量保存的内容是实例数据本身.引用类型被分配在托管堆上,变量保存的是地址.引用类型主要包括类类型,接口类型,委托类型和字符串类型等. 关于参数传递,这里有四种:        值类型参数的按值传递:        引用类型参数按值传递: 关于string引用类型参数按值传递的特殊情况:虽然string类型也是引用类型,然而在按值传递时,传递的实参却不会因方法中形参的改变而被

6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱

6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱 引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱.文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆:最后介绍值类型和引用类型,并说明一些有关它们的重要原理. 最后通过一个简单的示例代码说明装箱拆箱带来的性能损耗. 声明变量的内部机制 在.NET程序中,当你声明一个变量,将在内存中分配一块内存.这块内存分为三部分:1,变量名:2,变量类型:3,变量值. 下图揭示了声

js:值类型/引用类型/内存回收/函数传值

把这4个概念放在一起写,因为它们是互通的 值类型:一个变量对应一块内存 var a=1; var b=a; a=2; 此时b还是等于1 就像你的克隆人,你心情不好去跳崖,他才不会傻乎乎地跟着你去跳 数值.boolean.null.undefined都是值类型 引用类型:有的博主这样比喻,一家店,它的引用就是它的钥匙 鉴于“作的精神”,我换一种比喻 一台电视机(内存)和它的遥控器关系(引用变量) 可以用遥控器换频道,但不可以用遥控器把电视变成冰箱 如果这电视不只一个遥控器,那么它们可以共同控制电视

深入C#内存管理来分析值类型&amp;引用类型,装箱&amp;拆箱,堆栈几个概念组合之间的区别

C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑. 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程序猿,开个玩笑^_^. 相信有过C#面试经历的人,对下面这句话一定不陌生: 值类型直接存储其值,引用类型存储对值的引用,值类型存在堆栈上,引用类型存储在托管堆上,值类型转为引用类型叫做装箱,引用类型转为值类型叫拆箱. 但仅仅背过这句话是不够的. C#程序员不必手工管理内存,但要编写高效的代码,就仍需

聚沙成塔【1】——值类型/引用类型

值类型 :顾名思义就是在内存中储存其值的类型,是存放于堆栈中的类型,13个{sbyte,byte,short,ushort,int,uint,long,ulong,float,double,decimal,bool,char} 引用类型   :在内存中存放的是对其的引用地址,是存放于托管堆中的类型,2个{string,object} -------------------------------------------------------------------------------- ☆

Java反射(二):检测类的修饰符和类型

一个类可被若干个能影响其运行时行为的修饰符声明: 访问修饰符:public,protected,private 需要重载的修饰符:abstract 限制为只有一个实例的:static 阻止值修改:final 强制严格浮点行为:strictfp 注解 不是所有的修饰符能用在所有的类上.比如final不能修饰接口,枚举不能是abstract.java.lang.reflect.Modifier包含了所有可能修饰符的声明,它也包含用来编码由Class.getModifiers()返回的修饰符集合的方法

javascript基本数据类型与值类型引用类型说明

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了javascript中的基本数据类型,以及值类型和引用类型的区别与使用 一.基本数据类型 在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String.还含有一种复杂数据类型-Object.

值类型&amp;引用类型,装箱&amp;拆箱

值类型:声明一个值类型变量,会在栈上分配一个空间,空间里存储的就是变量的值引用类型:声明一个引用类型变量,会在栈中分配一个空间,存储一个引用,这个引用指向了一个托管堆. 值类型:struct,枚举,数值类型,bool类型引用类型:数组,类,接口,委托(delegate),Object,string 可以看下下面的例子 public class Person { public string Name { get; set; } public int Age { get; set; } } publ